Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
labor_dlph_kz.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
6.62 Mб
Скачать

Мысалдар

Мысал 2.1 Label компонентін қолданып, ай аттарын шығаруды қарастырайық (сурет-23 а-форманы даярлау барысы; сурет-23 б-массив элементтерін шығару нәтижесі ).

М ассив элементтерін шығару мақсатында for параметрлі қайталау операторын қолдану өте ыңғайлы, бұл жағдайда параметрдің санағышы массив элементтерінің индексін бейнелеуге оңтайлы болады.

Есепті шешу: 1. Бір жылда он екі ай бар екенін ескеріп, ай санын тұрақты шама түрінде қабылдаймыз, яғни

const n=12;

2. Ай атаулары бір текті, реттелген жолдық типтер, сондықтан оны жариялау:

var month:array[1..n] of string[15]=('январь', 'февраль', 'март', 'апрель',

'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь');

3. Button1 батырмасының үрдісі:

procedure TForm1.Button1Click(Sender: TObject);

var s:string;// ай аттары

i:integer; //индекс , массив элементінің нөмірі

begin

for i:=1 to n do //параметрлі қайталау операторы

s:=s+inttostr(i) + ' ' + month[i]+#13;

label1.Caption:=s; // тізімді шығару

...

Мысал 2.2 StringGrid компонентiн қолданып, массив элементтерінің қосындысын және арифметикалық орта шамасын анықтау қажет. Есептің шешуі: 1. StringGrid компонентi, кесте ұяшығында қандайда-бiр мәтiндiк жолдары бар кестенi құру үшiн арналған. Кесте екi бөлiкке бөлiнедi: 1)Фиксацияланған (нақтыланған) және 2)Жұмыс алаңы. Бірінші бөлiгi бағандардың тақырыптарын көрсету үшiн және де олардың өлшемiн қолмен басқару үшiн арналған. Көп жағдайларда бұл бөлiк сол жақ шеткi бағанды және кестенiң ең жоғарғы бөлiгiн алады. Бiрақ FixedCols және FixedRows қасиеттерi арқылы фиксирленген жолдардың, бағандардың басқа да санын беруге болады. Егер бұл қасиет нолге тең болса, кестеде тағайындалған (фиксирленген) аудан болмайды (сурет-24а). Компоненттiң ең басты қасиетi Cells болып табылады. Cells массивiнiң екi өлшемдi ұяшығының әрқайсысында қандайда-бiр мәтiн болады. Нақты ұяшық екi санмен анықталады, ол баған және жол номерi. Cells қасиетi String типтес, сондықтан программа кез-келген ұяшықтың мәлiметiн оқи немесе жаза алады. Мысалға: Cells [1,1]:=′Жұмыс аймағының сол жақ жоғарғы ұяшығы′;

Ұ яшықтар саны ColCount (бағандар саны) және RowCount (жолдар саны) деген екi қасиетiне ие. Бұл қасиеттердiң мәнi және де жұмыс барысында өзгертiлiп отырады. Бiрақ бұл мәндер минималды FixedCols және FixedRows қасиеттерiнiң мәндерiнен 1-ге (бiрге) үлкен болуы қажет. Бұл қасиеттер фиксирленген (нақтыланған) ауданның қасиеттерiн анықтайды.

Сонымен компонентті формаға орналастырып, оның қасиеттерін тағайындау керек:

Кесте 10

Компонент қасиеттері

Қасиеттерінің шамалары

ColCount

5 (кестедегі баған саны)

FixedCols

0 (фиксирленген (белгіленген) ауданның баған санын анықтайды – сурет-24а назар аударыңыз)

RowCount

1 (кестедегi жол саны)

DefaultRowHeight

24 (жолдың келісім бойынша қабылданған ұзындығы)

Height

24

DefaultColWidth

64 (баған енiнiң келісім бойынша қабылданған мәнi)

Width

328

Options.goEditing

True (ұяшққа мәлiмет енгізуге рұқсат берілген)

Options.AlwaysShowEditing

True (енгізу фокусы берілген ұяшыққа әрқашанда мәлiмет жазуға рұқсат етiлген)

Options.goTabs

True (ұяшықтарды Tab клавишасы арқылы өтуге болады)

2. Формаға BitBtn1 компонентін орналастырып, оның Kind қасиетін bkOK- деп тағайындау қажет, бұл да StringGrid тәрізді компоненттер палитрасының Additional парағында орналасқан және Button сияқты командалық батырма ретінде қолданылады.

3. BitBtn1-ның OnClik оқиғасын өңдейтін үрдіс арқылы есептеуді іске асырамыз, ол үшін алдымен барлық кіріс деректерін және нәтижені сипаттаушы айнамалаларды жариялау керек: a:array[1..5] of real; - енгізілетен массив, summa-массив элементтерінің суммасы, sred - массив элементтерінің арифметикалық ортасы, i – индекс.

procedure TForm1.BitBtn1Click(Sender: TObject);

var a:array[1..5] of real; summa:real; sred:real; i:integer;

4. Массив элементтерін енгізу: егер ұя бос болса, осы ұя элементінің шамасы нөлге тең болғаны.

Begin for i:=1 to 5 do

if Length(stringGrid1.Cells[i-1,0])<>0 then a[i]:=strtofloat(stringGrid1.Cells[i-1,0])

else a[i]:=0;

5. Массив элементтерінің қосындысын және арифметикалық орта шамасы

summa:=0; //есеп басында сумматор немесе қосынды жинағы нөлге тең, себебі санағышта ешқандай дерек жоқ

for i:=1 to 5 do // параметрлі қайталау операторы 1-ден 5- ке дейінгі элементтерді қарастырады

summa:=summa+a[i]; // санағыштағы деректер a[i]-ші шамаға өсіп отырады

sred:=summa/5; //бес санның арифметикалық орта шамасын есептеу

5. Нәтижені Label компонентінде бейнелеу

Label2.Caption:= 'сумма элементов:' + Floattostr(summa)+#13+

'арифметическое среднее:' + Floattostr(sred);

end;

6. Есептің нәтижесі 24 б-көрсетілген.

Мысал 2.3 . Edit компонентінің көмегімен массив элементтерін енгізіп, оларды ListBox –та бейнелеп, массивтің ең үлкен және ең кіші элементін Memo-да көрсету қажет (сурет-26) .

в)

Есепті қарастыру кезеңінде (26а-суреті) RadioButton компонетін қолданып, оны максимум немесе минимум-ды анықтауды тағайындау үшін қолданамыз. Массив элементтерін Edit-ке енгізіп, Button1 компонентін басып, оның нәтижесін Listbox –та көруге болады. Массив элементтерінің ең үлкен шамасын және оның номерін (26б-сурет), сол сияқты ең кіші шамасын және оның номерін анықталған және (26в-сурет) нәтижесі келтірілген.

Қорытынды: Біртекті деректерді кесте немесе тізімдерді бейнелеу үшін сілемдер арқылы көрсету өте қолайлы. Ортақ атауы бар, біртекті деректер жиынын сілемдер немесе массив дейміз. Егер оның индексі бір индекстік өрнектен түрса, онда массив бірөлшемді деп аталады

Массивтермен орындалатын операциялар:

  1. массив элементтерін көрсету (шығару);

  2. массив элементтерін енгізу;

  3. массив элементтерінің ең үлкен және ең кіші элементін анықтау;

  4. белгілі бір шаманы массив элементтерінен іздеу;

  5. массив элементтерін сұрыптау

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]