Қоршаған ортаны модельдеуде сапалы мүмкіндіктерге ие, сезімдік тұрғыдан түсініктіұғымдар жиынтығы негізінде құрылады, алдын ала жазылып қойған программа кодын көп рет қолдануға мүкіндік береді



жүктеу 8,61 Mb.
бет5/35
Дата09.01.2018
өлшемі8,61 Mb.
#7365
1   2   3   4   5   6   7   8   9   ...   35
2 - сурет Калькулятор терезесі

3. Цикл. Delphi–де циклдермен жұмыс стандартты Турбо Паскальдағы сияқты. While(әзірше), Repeat(дейін), For(үшін) циклдік құрылымдардың жазылу үлгілері:


    1. While P do

Begin

S

End;



    1. Repeat

S

Until (not P);



    1. For k:=k0 to kn do

Begin

S

End;



мұндағы Р – шарт; do - орындау, until – дейін (do, until - кілттік cөздер); S -цикл денесі;k - есептегіш (цикл параметрі); k0,kn - есептегіштің бастапқы, соңғы мәндері.

Мысалы, жалпы мүшесі ak=1/k2 (k=1,2…)тізбектің алғшқы бес мүшесінің қосындысын табу керек (n=5; Sn - ?).

Procedure Tform1.FormCreat(Sender: TOject);

Var s,a:real; k,n:integer; s1:string;

Begin

n:=StrToInt(‘’,’Мүшелер саны=’,’’));



s:=0; k:=0;

For k:=1 to n do

Begin

a:=FloatToStrF(s,ffFixed,7,3); ShowMessage(s1);



End;

  1. Жиындармен (массивтермен) жұмыс

Жиын (массив) – бір типті нысандар (объектілер) жиыны. Жиындар (массивтер) бір өлшемді (сызықтық), екі өлшемді (матрица) не көп өлшемді болуы мүмкін. Жиындарды сипатту Турбо Пакальдағы сияқты. Мысалы:

var


a:array[1..10] of integer; //бүтін сандар жиыны

b:array[3..8] of real; //нақтысандар жиыны

c:array[0..5] of string; //жолдық типті жиыны

Мартица – екі өлшемді жиын. Матрицаны сипаттаудың сызықтық жиынды сипаттаудан айырмавшылығы шамалы. Мысалы:

var

аa:array[1..10,1..10] of integer; //бүтін сандар матрицасы



bb:array[1..8,1..5] of real; //нақтысандар матрицасы

cc:array[0..5,0..3] of string; //жолдық типті матрицасы



Мысал. 100 метрлік қашықтыққа жүгіру барысында үш топтың әрқайсысынан үш студент іріктеп алынды. Олардың секөндпен өлшенген жүгіру нәижелері 1-кестеге енгізілген. Қайсы топтың студенттері бірінші орынға шықты? Орта есеппен олардың әрқайсысы 100 метрді қанша уақытта өтті?

12,69 13,25 12,98

14,05 13,16 13,08

13,32 14,27 14,02

1-кесте 1-топ 2-топ 3-топ

  1. Жаңа жоба ашып, формада Memo1, StringGrid1, BitBtn1, BitBtn2, Label1 компоненттерін орнату (4-сурет).

TstringGrid -ұяшықтарында кез-келген ұзындықтағы жолдық шамаларды орналастыруға болатын кестелік компонент.

Қасиет

Мағынасы

Cells[n,n]
ColCount

RowCount


GrigLineWidth

Fixedcos


FixedRows

FixedColor


ColWidth[i]

RowHeight[j]



n*m өлшемді кесте ұяшықтарының мәндері

Кестенің баған саны

Кестенің жол саны

Кесте сызылатын сызықтың қалыңдығы

Ерекше жолдар саны

Ерекше бағандар саны

Ерекше жолдар мен бағандар түсі

i-бағанның ені

j-жодың биіктігі

Компоненттер қасиеттеріне мәндер меншіктеу:



  1. Код терезесінде батырмасын оқиғасын өңдеуіш процедурасын құру.

Компонент

Қасиет

Мән

BitBtn1

BitBtn2


StringGrid1
Label1

Memo1


Kind

Kind


FxedCols

FxedRows


Caption

Strigns


bkOK

bkClose


1

1

бос ету



бос ету

Procedure Tform1.BitBtn1click(Sender: TObject);

Const n=3;

Var nomer,k,I,j:longint;

S:array[1..n,1..n] of real; //матрица
P:array[1..n] of real; //қосындылар жиыны

Min:real; nomerT:string;

Begin

{кесте құру}



StringGrid1.Font,Name:=’Times Kaz’;

StringGrid1.ColCount:=n+1;

StringGrid1.RowHeight:=n+2;

StringGrid1.Cells[0,n+1]:= ‘Орт.жылд.’;

For I:=1 to n do

Begin


P[i]:=0; //қосыенды жиынға бастапқы мәндер меншіктеу

StringGrid1.Colwidth[i]:=60;

StringGrid1.Cells[0,i]:=’ ‘+FloatToStr(i);

StringGrid1.RowHeight[i]:=15;

StringGrid1.Cells[I,0]:=’’+FloatToStr(i)+’топ’;

End;


{енгізілген элменттерді мартица ретіндек құу және экранға шығару}

k:=0;


for I:=1 to n do

for j:=1 to n do

begin s[i,j]:=StrToFloat(memo1.Lines[k]);

StringGrid1.Cells[I,j]:=’ ’+Memo1.Lines[k]; k:=k+1;

End;

{топ студентетрінің орташа жылдамдықтарын анықтау}



for I:=1 to n do

begin for j:=1 to n do

p[j]:=p[j]+s[j,i];

end;


for I:=1 to n do

StringGrid1.Cells[I,n+1]:=’ ‘FloatToStrF(p[i]/n,ffGeneral,4,2);

{бірінші орынға қай топ шыққанын анықтау}

min:=p[1];

nomer:=1;

for I:=111 to n do

if p[i]

begin min:=p[i];

nomer:=I;

end;


nomerT:=IntToStr(nomer);

Label1.Font.Size:=10;

Label1.Caption:=’1 – орынға’ +nomerT+ ‘топ шыққан’+#13+#13+’Орташа жылдамдығы:’’+FloatToStrF(min/nffGeneral,4,2);

End;


Жобаны сақтап, іске қосу. Форма көрінеді. Memo1 терезесіне топтар көрсеткіштерін кезекпен енгізіп, ОК батырмасын шерту. Нәтиже алынады(4-сурет).


жүктеу 8,61 Mb.

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   35




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау