Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Жиындармен (массивтермен) жұмыс
Жиын (массив) – бір типті нысандар (объектілер) жиыны. Жиындар (массивтер) бір ө лшемді (сызық тық), екі ө лшемді (матрица) не кө п ө лшемді болуы мү мкін. Жиындарды сипатту Турбо Пакальдағ ы сияқ ты. Мысалы: 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 метрді қ анша уақ ытта ө тті?
1-кесте 1-топ 2-топ 3-топ 1. Жаң а жоба ашып, формада Memo1, StringGrid1, BitBtn1, BitBtn2, Label1 компоненттерін орнату (4-сурет). TstringGrid -ұ яшық тарында кез-келген ұ зындық тағ ы жолдық шамаларды орналастыруғ а болатын кестелік компонент.
Компоненттер қ асиеттеріне мә ндер меншіктеу: 3. Код терезесінде батырмасын оқ иғ асын ө ң деуіш процедурасын қ ұ ру.
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 ө рістеріне шығ ару да мү мкін.
|