Muammoni shakllantirish Nazariy qism



Download 281,08 Kb.
bet3/5
Sana26.06.2022
Hajmi281,08 Kb.
#705863
1   2   3   4   5
Bog'liq
gaus 4


Dastur matni .

birlik fayli 1.pas _


birlik 1;
interfeys

foydalanadi


Windows, Xabarlar, SysUtils, Variantlar, Sinflar, Grafika, Boshqaruv elementlari, Shakllar,
Dialoglar, Menyular, XPMan, StdCtrls, Grids, birlik2;

turi
TForm1 = sinf (TForm)


Koeffitsient: TStringGrid;
Gauss: TStringGrid;
Jgauss: TStringGrid;
1-tugma: TB tugmasi;
2-tugma: TB tugmasi;
XPManifest1: TXPManifest;
SaveDialog1: TSaveDialog;
MainMenu1: TMainMenu;
1-fayl: TMenuItem;
Yangi 1: TMenuItem;
Saqlash1: TMenuItem;
Chiqish1: TMenuItem;
Matritsa: TStringGrid;
protsedurasi New1Click(Sender: TObject);
protsedura Button1Click(Sender: TObject);
protsedura Button2Click(Sender: TObject);
protsedura Save1Click(Sender: TObject);
Exit1Click protsedurasi(Sender: TObject);
xususiy
{ Shaxsiy deklaratsiyalar }
ommaviy
{ Ommaviy deklaratsiyalar }
oxiri;

var
Form1: TForm1;


s:integer;

amalga oshirish


{$R *.dfm}


protsedurasi TForm1.Exit1Click(Sender: TObject);


boshlash
yaqin;
oxiri;

protsedurasi TForm1.New1Click(Sender: TObject);


var i,dl:integer;
prover:string;
boshlash
form1.Enabled:=false;
takrorlang
prover:=inputbox(' Enter hajmi tizim ',' ma'nosi 2 va 20', '2' oralig'ida );
dl:=length(prover);
agar dl=0 bo'lsa, xabarni ko'rsatish(' Enter hajmi tizimlari ') boshqa
boshlash
agar (dl=1) va (prover<'9') va (prover>'0') keyin s:=trunc(strtofloat(prover))
boshqa
boshlash
for i:=1 to dl do
boshlash
agar prover[i]>'9' keyin
boshlash
showmessage(' Enter raqam ');
sindirish;
oxiri
agar i=dl bo‘lsa, s:=trunc(strtofloat(inputbox(' Enter ) hajmi tizim ',' ma'nosi 2 va 20' , '2'))) orasida;
oxiri;
oxiri;
oxiri;
qadar (s>=2) va (s<=maxr);
form1.Enabled:=true;
matrix.RowCount:=s+1;
matrix.ColCount:=s+1;
gauss.colCount:=s+1;
coef.rowCount:=s+1;
jgauss.colCount:=s+1;
koef.Cells[1,0]:='B';
gauss.Cells[0,1]:='Gauss';
jgauss.Cells[0,1]:='J-Gauss';
for i:=1 to s do
boshlash
matrix.Cells[0,i]:=floattostr(i);
matrix.Cells[i,0]:='A'+floattostr(i);
koef.Cells[0,i]:=floattostr(i);
gauss.Cells[i,0]:='X'+floattostr(i);
jgauss.Cells[i,0]:='X'+floattostr(i);
oxiri;
oxiri;
protsedurasi TForm1.Button1Click(Sender: TObject);
var a:ary2s;
x,y:arys;
xato: mantiqiy;
i,j,l,K:integer;
prover:string;
boshlash
{Dastlabki ma'lumotlar bilan massivlarni o'qish va '.' yoki ','}
{**************************************************** ********
for i:=1 to s do
j:=1 uchun s qilish
boshlash
prover:=matritsa.Cells[j,i];
k:=uzunlik(nasl);
agar k=0 bo'lsa
boshlash
showmessage('Siz bir yoki bir nechta tizim elementini kiritmadingiz.');
Chiqish;
oxiri;
for l:=1 to length(prover) do
agar prover[l]='.' keyin prover[l]:=','
else if prover[l]>'9' keyin
boshlash
showmessage('Harf bir yoki bir nechta tizim elementi sifatida kiritilgan. Oʻzgartiring ular ustida raqamlar !');
Chiqish;
oxiri;
matritsa.Hujayralar[j,i]:=prover;
a[i,j]:=strtofloat(matritsa.hujayralar[j,i]);
oxiri;
for i:=1 to s do
boshlash
prover:=coef.cells[1,i];
for l:=1 to length(prover) do
agar prover[l]='.' keyin prover[l]:=','
else if prover[l]>'9' keyin
boshlash
showmessage('Harf bir yoki bir nechta tizim elementi sifatida kiritilgan. Oʻzgartiring ular ustida raqamlar !');
Chiqish;
oxiri;
coef.cells[1,i]:=prover;
y[i]:=strtofloat(coef.cells[1,i]);
oxiri;
{**************************************************** ********

{Qaror va natijalarni chiqarish}


{**************************************************** ********
gauss1(a,y,x,s,xato);
agar xato bo'lmasa
for i:=1 to s do
gauss.cells[i,1]:=floattostr(x[i])
boshqa
boshlash
showmessage('Yechim tizimida yo'q');
new1.Click;
oxiri;
{**************************************************** ********
oxiri;
protsedurasi TForm1.Button2Click(Sender: TObject);
var a:ary2s;
x,y:arys;
xato: mantiqiy;
i,j,l,k:integer;
prover:string;
boshlash
{Dastlabki ma'lumotlar bilan massivlarni o'qish}
{**************************************************** ********
{Dastlabki ma'lumotlar bilan massivlarni o'qish va '.' yoki ','}
{**************************************************** ********
for i:=1 to s do
j:=1 uchun s qilish
boshlash
prover:=matritsa.Cells[j,i];
k:=uzunlik(nasl);
agar k=0 bo'lsa
boshlash
showmessage('Siz bir yoki bir nechta tizim elementini kiritmadingiz.');
Chiqish;
oxiri;

for l:=1 to length(prover) do


agar prover[l]='.' keyin prover[l]:=','
else if prover[l]>'9' keyin
boshlash
showmessage('Harf bir yoki bir nechta tizim elementi sifatida kiritilgan. Oʻzgartiring ular ustida raqamlar !');
Chiqish;
oxiri;
matritsa.Hujayralar[j,i]:=prover;
a[i,j]:=strtofloat(matritsa.hujayralar[j,i]);
oxiri;
for i:=1 to s do
boshlash
prover:=coef.cells[1,i];
for l:=1 to length(prover) do
agar prover[l]='.' keyin prover[l]:=','
else if prover[l]>'9' keyin
boshlash
showmessage('Harf bir yoki bir nechta tizim elementi sifatida kiritilgan. Oʻzgartiring ular ustida raqamlar !');
Chiqish;
oxiri;
coef.cells[1,i]:=prover;
y[i]:=strtofloat(coef.cells[1,i]);
oxiri;
{**************************************************** ********
{**************************************************** ********

{Qaror va natijalarni chiqarish}


{**************************************************** ********
gaussj(a,y,x,s,xato);
agar xato bo'lmasa
for i:=1 to s do
jgauss.cells[i,1]:=floattostr(x[i])
boshqa
boshlash
showmessage('Sistema resheniya ne imeet');
new1.Click;
oxiri;
{****************************************************}
oxiri;
protsedurasi TForm1.Save1Click(Sender: TObject);
var f:matn fayli;
i,j:integer;
boshlash
savedialog1.Filter:='Matnli fayllar (*.txt)|*.txt|';
agar savedialog1.Execute keyin
boshlash
assignfile(f,savedialog1.filename+'.txt');
qayta yozish (f);
for i:=1 to s do
boshlash
writeln(f);
j:=1 uchun s qilish
write(f,matritsa.hujayralar[i,j]:4,' ');
write(f,'|',coef.cells[1,i]);
oxiri;
writeln(f);
writeln(f);
writeln(f,'Gauss');
for i:=1 to s do
writeln(f,'X'+floattostr(i)+'='+gauss.cells[i,1],' ');
writeln(f);
writeln(f,'J-Gauss');
for i:=1 to s do
writeln(f,'X'+floattostr(i)+'='+jgauss.cells[i,1],' ');
yopiq fayl(f);
oxiri;
oxiri;

oxiri.




Download 281,08 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish