3 Обьектілі бағдарланған программалау тілін оқыту әдістемесі


Өзіндік жұмысқа арналған тапсырмалар



бет26/39
Дата12.09.2020
өлшемі0,88 Mb.
#77904
түріПрограмма
1   ...   22   23   24   25   26   27   28   29   ...   39
Байланысты:
Delphi программалау тілін оқыту әдістемесі

Өзіндік жұмысқа арналған тапсырмалар:

  1. А(10) массиві берілген. Массив элементтерінің арифметикалық ортасын табыңыз.

  2. А(10) массиві берілген. Массивтегі оң элементтердің көбейтіндісін, теріс элементтердің қосындысын табыңыз.

  3. А(15) массиві берілген. Массивтегі ең үлкен және ең кіші элементті тауып, оларды орындарымен ауыстырыңыз.

2 Зертханалық жұмыс



Тақырыбы: Екі өлшемді массивтермен жұмыс

Зертханалық жұмыстың мақсаты: Delphi ортасында екі өлшемді массивтерге әр түрлі амалдарды қолданып, есептер шығару. StringGrid компонентімен және оның қасиеттері мен әдістерімен жұмыс жасауды үйрену.

1-тапсырма. 5*5 матрицасы берілген. Матрицадағы бас диагональдан жоғары орналасқан тақ элементтердің санын, бас диагональдан төмен орналасқан жұп элементтердің қосындысын тап.

Төменде (2.1.10-сурет) осы қосымшаның компоненттер орналастырылған форма терезесі келтірілген:


2.1.10-сурет. Компоненттер орналастырылған форма терезесі

Тапсырманы орындау алгоритмі:

1. Жаңа жобаны ашып, пішіннің Caption қасиетіне «Матрицамен жұмыс» деген мәнді жазыңыз және Color қасиетін белгілеп, пішіннің кез келген фондық түсін таңдауға болады.

2. Пішінге Standard бетіндегі Label1, Label2, label3, Button1, Additional бетіндегі StringGrid1 компоненттерін орналастырыңыз. Label1 компонентінің Caption қасиетіне «Матрица», Button1 батырмасына «Есептеу» деп жазыңыз, ал Label2 мен label3 тазалаңыз. Осы компоненттер үшін Font қасиетін белгілеп, қажетті мәтіннің шрифтін өзгертуге болады.

3. StringGrid1 компонентін ерекшелеп, FіxеdCols және FіxеdRows қасиеттеріне 0 мәндерін, RowCount (жолдар саны 5) қасиетіне 5, ColCount (бағандар саны 5) қасиетіне 5 мәндерін беріңіз, Options опциясының ішндегі goEditing, goTabs, goAlwaysShowEditor қасиеттерін true деп өзгертіңіз.

4. Button1 батырмасына оқиғаны өңдеу процедурасын құру үшін, батырманы ерекшелеп, обьектілер инспекторы терезесінің Оқиғалар бетіндегі OnClick оқиғасына немесе батырманы екі рет шертіңіз. Пайда болған процедураның дайындамасына келесі кодты жазыңыз:

procedure TForm1.Button1Click(Sender: TObject);

var

A:array[1..5,1..5] of integer;



i,j,k,S:integer;

begin


for i:=1 to 5 do

for j:=1 to 5 do

A[i,j]:=StrToInt(StringGrid1.Cells[i-1,j-1]);

S:=0; k:=0;

for i:=1 to 5 do

for j:=1 to 5 do

if ((i

S:=S+A[i,j];

begin

for i:=1 to 5 do



for j:=1 to 5 do

if ((i>j) and (A[i,j] mod 2=1)) then

k:=k+1;

Label2.Caption:= ‘Бас диагональдан төмен орналасқан жұп элементтердің қосындысы '+IntToStr(S);

Label3.Caption:= ‘Бас диагональдан жоғары орналасқан тақ элементтердің саны ' +IntToStr(k);

end;

end;

end.

Төменде (2.1.11-сурет) осы программаның блок-схемасы көрсетілген:



2.1.11-сурет. Программаның блок-схемасы


5. Жобаны сақтап, қосымшаны орындауға жіберіңіз. Төменде (2.1.12-сурет) қосымшаны іске қосқанда шыққан нәтиже көрсетілген:

2.1.12-сурет. Қосымшаның орындалу нәтижесі



2-тапсырма. k (0Төменде (2.1.13-сурет) осы программаның компоненттер орналастырылған форма терезесі мен орындалу нәтижесі терезесі келтірілген.



Тапсырманы орындау алгоритмі:

2.1.13-сурет. Компоненттер орналастырылған форма терезесі мен орындалу нәтижесі терезесі




  1. Жаңа жобаны ашыңыз.

  2. Пішінге Standard бетіндегі Label1, Label2, label3, label4, label5, Button1, Edit1 компоненттерін Additional бетіндегі StringGrid1, BitBtn1 компоненттерін орналастырыңыз. Label1 компонентінің Caption қасиетіне «К», Label2-ге «жол қосындысы», label3-ке «жол көбетіндісі», Button1 батырмасына «ОК» мәндерін жазыңыз.

  3. BitBtn1 батырмасын ерекшелеп, обьектілер инспекторы терезесіндегі Kind қасиетінің ішінен bkClose мәнін таңдаңыз.

  4. StringGrid1 компонентін ерекшелеп, FіxеdCols және FіxеdRows қасиеттеріне 0 мәнін, RowCount (жол саны 10) қасиетіне 10, ColCount (баған саны 4) қасиетіне 4 мәндерін беріңіз, Options опциясының ішндегі goEditing, goTabs, goAlwaysShowEditor қасиеттерін true деп өзгертіңіз.

  5. Button1 батырмасын екі рет шертіңіз. Пайда болған процедураның дайындамасына келесі кодты жазыңыз:

procedure TForm1.Button1Click(Sender: TObject);

var a:array[1..4,1..10] of integer;

p,s: real; k,i,j:integer;

begin


k:=strToInt(Edit1.Text);

For i:=1 to 4 do

For j:=1 to 10 do

a[i,j]:=strToInt(StringGrid1.Cells[i-1,j-1]);

P:=1; S:=0;

For i:=1 to 4 do

For j:=1 to 10 do

if ((k>0) and (k<11))then

begin

For j:=1 to 10 do



begin

For i:=1 to 4 do

begin

if j=k then begin



S:=S+a[i,j];

P:=P*a[i,j]; end; end; end;

Label4.Caption:=FloatTostr(S);

Label5.Caption:= FloatToStr(P);

end;

end;


end.

Төменде (2.1.14-сурет) осы программаның блок-схемасы көрсетілген:



2.1.14-сурет. Программаның блок-схемасы



  1. Жобаны сақтап, қосымшаны орындауға жіберіңіз.




Достарыңызбен бөлісу:
1   ...   22   23   24   25   26   27   28   29   ...   39




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

    Басты бет