- •Задача №1
- •1. Организация ввода/вывода. Изучение стандартных типов данных
- •Зертханалық жұмыс № 1
- •1 Зертханалық жұмыстың жүру тәртібі:
- •Тапсырма
- •2 Мысал
- •Зертханалық жұмыс № 2
- •Тапсырма
- •Memo компоненті tMemo-класының компоненттерi әжептәуiр үлкен мәтiндi енгiзуге, өзгертуге және бейнелеуге арналған. Мәтiн tStrings класының Lines қасиетiнде сақталынады.
- •Зертханалық жұмыс № 3
- •1 Зертханалық жұмыстың жүру тәртібі:
- •Тапсырма
- •Зертханалық жұмыс № 4
- •1 Зертханалық жұмыстың жүру тәртібі:
- •Тапсырма
- •2 Мысалдар
- •For…to…do цикл операторы
- •Зертханалық жұмыс № 5
- •1 Зертханалық жұмыстың жүру тәртібі:
- •Тапсырма
- •Мысалдар
- •Массив элементтерін сұрыптау
- •Таңдау әдісімен сұрыптау
- •I,k:integer;
- •Зертханалық жұмыс № 6
- •1 Зертханалық жұмыстың жүру тәртібі:
- •Тапсырма
- •Мысалдар
- •Екі өлшемді массивтер
- •Екі өлшемді массив элементтерін толтыру
- •Var a:array[1..3,1..4] of integer; I,j:integer;
- •Массив элементтерінің қосындысы мен көбейтіндісін есептеу
- •Екі өлшемді массив элементін іздеу
- •Зертханалық жұмыс № 6
- •1 Зертханалық жұмыстың жүру тәртібі:
- •Зертханалық жұмыс № 7
- •1 Зертханалық жұмыстың жүру тәртібі:
- •Тапсырма
- •Мысалдар
- •Әдебиеттер Мазмұны
- •1. Есептің шартына сәйкес блок-схемасын құрастырып, енгізілуге тиісті деректердің анықталу аймағын ескеріп, бағдарлама құрастыр. 13
Массив элементтерін сұрыптау
Массив элементтерін белгілі бір ретпен орналастыру мақсатында орындалатын үрдісті сұрыптау деп атаймыз. Мысалы: бүтін сандардан құрастырылған а массив элементтерін өсу ретімен сұрыптау қажет болса a[1]<=a[2]<=…<=a[n] шарты орындалуы керек. n-массив элементтерінің индексі.
Массив элементтерін сұрыптаудың бірнеше әдісі бар, соның ең жиі қолданыстағы екі түрін қарасытамыз:
тікелей таңдау әдісі;
тікелей алмастыру әдісі.
Таңдау әдісімен сұрыптау
Таңдау әдісімен сұрыптау алгоритмі:
1.массивтің бірінші элементінен бастап қарап, осылардан ең кіші элементін тауып алып оны біоінші элементтің орнына орналастырып, ал оның орнына бірінші орындағы элементті қою қажет;
Массивтің екінші элементінен бастап қарап өтіп, олардың ішінен ең кішісін анықтап оны екіншінің орнына қойып, ал оны жаңағы кішінің орнына орналастыру қажет,
Осы әдіспен соңғының алдына дейін орындап шығу керек.
М
ысал:
2.4 Бүтін сандардан құрастырылған
массивтің он элементін өсу және кему
ретімен сұрыптау қажет.
Бағдарлама мәтінінен үзінді:
...
var a:array[1..n] of integer; // массивті жариялау
min:integer; // ең кіші елементтің номері
j:integer; // кіші элементпен салыстырылатын элементтің номері
buf:integer; // массив элементін алмастыру барысында қолданылатын буфер
I,k:integer;
...
a[i]:=strtoint(stringGrid1.cells[i-1,0]); // массив элементтерін енгізу
label2.caption:='';
for i:=1 to n-1 do
begin min:=i; // a[1] – ден a[n] -ға дейін ең кіші элементті іздеу
for j:=i+1 to n do if a[j]<a[min] then min:=j;
// a[i] мен a[min] элементтерінің орнын буферді қолданып ауыстыру
buf:=a[i];
a[i]:=a[min]; a[min]:=buf;
// сұрыпталған массив
for k:=1 to n do
label2.caption:=label2.Caption+' '+inttostr(a[k]);
label2.caption:=label2.Caption+#13; end;
label2.Caption:=label2.Caption+#13+'массив отсортирован';end;end.
Зертханалық жұмыс № 6
Жұмыстың тақырыбы: Екі өлшемді массив элементтерін өңдеу.
Жұмыс мақсаты: Delphi ортасында матрица (екі өлшемді массив) элеметтерін анықтау, енгізу, шығару әдістерін меңгеріп, бағдарлама құрастыру.
Орындалу уақыты: 4 сағат.
1 Зертханалық жұмыстың жүру тәртібі:
Зертхана жұмысының тақырыбына сәйкес теориялық материалдарды меңгеру
Төменде келтірілген бақылау сұрақтарына жауап беру қажет:
Бағдарламаның келесі үзіндісінде s[i] айнымалысында қандай шама анықталады:
for i:=1 to 10 do begin
for j:=1 to 10 do s[i]:=s[i]+a[i,j]; s[i]:=0; end;
S массиві нөлге теңеседі;
А матрицасының баған элементтерінің қосындысы есептеледі;
А матрицасының элементтерінің қосындысы есептеледі;
А матрицасының басты диагональ элементтерінің қосындысы есептеледі;
S массивінің элементтер саны анықталады.
2. S айнымаласының қайсы шамасы анықталады: s:=0; for j:=1 to 10 do s:=s+a[i,j];
А матрицасының i –ші жол элементтерінің қосындысы есептеледі;
А матрицасының j –ші баған элементтерінің қосындысы есептеледі;
А матрицасының басты диагональ элементтерінің қосындысы есептеледі;
А матрицасының элементтерінің саны анықталады;
А матрицасының әрбір жол элементтерінің қосындысы есептеледі
3. Массив элементі 5 символдық типті жолдан құрастырылған, әрбір жолда 10 таңба бар. Массивтің дұрыс сипатын анықта.
a:array[1..5,1..10] of char
a:div(1..10,1..5) of real
a:array[1..5] of char
a:real(1..5) of real
a:div{1..5,1..10} of integer
4. Ішкі циклді ұйымдастырудың негізгі ережелерін түсіндір.
5. Матрица элементтерін шығару тәсілдерін түсіндір.
6. Матрицаның төменгі үшбұрыштағы элементтерін шығару амалдары.
7. N*M өлшемді матрица элементтерін енгізу тәсілдері.
8. Дұрыс жазылған бағдарлама фрагментін анықта
Y:=0; FOR X:=0.1 TO 0.9 DO Y:=Y+SIN(X);
K:=9; FOR X:=1 TO SQRT(K) DO K:=K*3;
K:=4; FOR X:=16 DOWNTO 1 DO K:=K*3;
K:=0; FOR I:=1 TO 9 DO BEGIN I:=2*I; K:=K*I END;
K:=4; FOR I:=SQR(K) TO 1 DO K:=K*3; A:=K+I;
