Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






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

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-жодың биіктігі

 

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

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

Компонент Қ асиет Мә н
BitBtn1 BitBtn2 StringGrid1   Label1 Memo1 Kind Kind FxedCols FxedRows Caption Strigns bkOK bkClose бос ету бос ету

 

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]< min then

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-сурет).

3 - сурет Жарыс нә тижесі

Ескерту. StrigGrid компонентін пайдаланбай, мә ндерді терезесіне енгізіп, нә тижені Label ө рістеріне шығ ару да мү мкін.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.