- •5В011100 - «Информатика» мамандығына арналған
- •1. Глоссарий
- •2. Дәрістер
- •Программалар анализінің ережелері:
- •Сұрыпталған тізбектерді біріктіру
- •Сұрыпталған тізбектерді біріктіру алгоритмі
- •Бинарлық іздеу.
- •Бір байланысты сызықтық тізім.
- •Табиғи бірігу арқылы сұрыптау
- •Байланған сызықтық тізімдер
- •Тізімдермен жүргізілетін операциялар
- •Реттелген тізімді жасау
- •Екі байланысты сызықтық тізім
- •Стек операциялары
- •Стектер қолданылады:
- •Шірет объектісімен жүргізілетін операциялар
- •Шіреттер қолданылады:
- •Приоритеттер шіреті
- •Тармақ тәрізді құрылымды беру әдістері
- •2. Кірістірілген жақшалар:
- •Кірістірілген жиындар.
- •4. Кесінді тізбек.
- •Екілік тармақтың құрылымы.
- •Өрнектердің екілік тармақтары
- •Екілік тармаќтармен ж‰ргізілетін амалдар
- •Тармаќты толыѓымен ќарап µту алгоритмі
- •Екілік іздеу тармаѓынан элементті алып тастау.
- •Турнирлік с±рыптау
- •Массивті пирамидаѓа т‰рлендіру
- •Пирамидаға элемент қосу
- •Элементтерді пирамидадан өшіру
- •Пирамидалық сұрыптау
- •Балансталған тармаққа қосу
- •3 Зертханалық сабақтар Зертханалық жұмыс №1
- •Жалпы мәлімет
- •Зертханалық жұмыс №2
- •Жалпы мәлімет
- •Тармақ тәрізді құрылымды беру әдістері
- •2. Кірістірілген жақшалар:
- •Кірістірілген жиындар.
- •4. Кесінді тізбек.
- •Зертханалық жұмыс №3
- •Жалпы мәлімет
- •Зертханалық жұмыс №4
- •Жалпы мәлімет
- •Ортасынан бөлу алгоритмі
- •Зертханалық жұмыс №5
- •Жалпы мәлімет
- •Ортасынан бөлу алгоритмі
- •Зертханалық жұмыс №6
- •Жалпы мәлімет
- •Екілік тармақтармен жүргізілетін амалдар
- •Зертханалық жұмыс №7
- •Жалпы мәлімет
- •Бинарлық іздеу.
- •Зертханалық жұмыс №8
- •Жалпы мәлімет
- •Зертханалық жұмыс №9
- •Жалпы мәлімет
- •Зертханалық жұмыс №10
- •Жалпы мәлімет
- •Зертханалық жұмыс №11
- •Жалпы мәлімет
- •Сұрыпталған тізбектерді біріктіру
- •Сұрыпталған тізбектерді біріктіру алгоритмі
- •4.Студенттердің өздік жұмыстар жоспары
- •Бақылаушы - өлшемдік құралдар
3 Зертханалық сабақтар Зертханалық жұмыс №1
Тақырыбы: Сызықты байланысқан мәліметтер құрылымдарын ұйымдастыру және олармен жүргізілетін амалдар.
Жалпы мәлімет
Массив дегеніміз мәліметтердің құрылымдалған жиыны. Ол жалпы аты бар, бір типті элементтердің белгіленген санының реттелген жиынтығын сипаттау үшін қолданылады. Массив элементтерін белгілеу үшін массив айнымалысы аты және индексі қолданылады. Жұмысты орындамас бұрын массив типті айнымалыларды қолдануды және сипаттау ережелерін үйрену керек.
Мысалы: Екі өлшемді массив берілген. Әрбір жолда оның нольге тең емес элементтерін ретін сақтай отырып, жолдың басына жазу керек, ал барлық нольге тең элементтерін жол соңына жазу керек. Жаңа массив жасауға болмайды.
Есепті шешу этаптары:
Бұл есепті шешудің алгоритмдерінің біреуінің мәні массивті жол бойынша қарап, әрбір жолда (0:сан) жұбын тауып, содан кейін олардың өзара орынын ауыстырып, осылайша жолда мұндай жұптар қалмағанға дейін жалғастыруда.
Программаның паскальда жазылуы:
program маs_1;
var
V: array[1..100,1..100] of integer;
m,n, i,j, c: integer;
flag: boolean;
begin
<массив өлшемін енгізу m*n>
<массив ұяшықтарын толтыру>
for i:=1 to m do
repeat
flag:= true;
for j:=1 to n-1 do
if (v[i,j]=0) and (v[i,j+1]<>0) then begin
<олардың орынын ауыстыру>
flag:= false;
end;
until flag;
<массивты басып шығару>
readln;
end.
4. Алгоритмнің блок-схемасы
Бірінші жолды реттейміз:
Блок-схеманың алгоритмы бүтіндей:
5. Паскальдағы программа:
program mas_1;
var
V:array[1..100,1..100] of integer;
m,n, i,j, c: integer;
flag: boolean;
begin
write('Массив өлшемін енгіз m-n> '); readln(m,n);
for i:= 1 to m do
for j:= 1 to n do begin
write('V[',i,',',j,']= '); readln(V[i,j]);
end;
for i:=1 to m do
repeat
flag:= true;
for j:=1 to n-1 do
if (v[i,j]=0) and (v[i,j+1]<>0) then begin
c:=v[i,j]; v[i,j]:=v[i,j+1]; v[i,j+1]:=c;
flag:= false;
end;
until flag;
for i:= 1 to m do begin
for j:= 1 to n do write(V[i,j]:2);
writeln
end;
readln;
end.
Бақылау сұрақтары:
Массив типті айнымалылар қалай анықталады?
Бір өлшемді, екі өлщемді массивтің жекелеген элементіне кіру қалай жүзеге асырылады?
Массивтың элементтері экранға қалай шығарылады?
Екі өлшемді массивты экранға матрица түрінде шығаратын программа фрагментін келтір.
X : Array[0..1, 0..1, 0..1, 0..1, 0..1, 0..1] of Integer алты өлшемді массивына неше сан жазуға болады?
Тапсырмалар:
а1,а2,а3 бұтін сандары берілген. Бүтін санды [bij]i,j=1,2,3 матрицасын алу керек, мұнда bij=ai-3aj.
[aij]i=1,…10; j=1,…12 – бүтін санды матрицасын алу керек, aij=i+2j.
N өлшемді квадрат матрица берілген. Бас диагональдан жоғары, төмен орналасқан нольдік элементтер санын тап.
n * m өлшемді матрица берілген. b векторын алу керек, онда элементтер былай есептеледі: - сәйкес жолдардың элементтерінің көбейтіндісі; - сәйкес бағандардың арифметикалық ортасы; сәйкес жолдардың ең үлкен және ең кіші элементтерінің айырмасы; - бағандағы алғашқы теріс элементтердің мәндері.
A[1..m,1..n] екі өлшемді массив берілген. Элементтері тең болатын B[1..m] бір өлшемді массивын жасау: - жолдардың элементтер қосындысына; - жолдардың элементтер көбейтіндісіне; - жолдардың элементтерінің арифметикалық орталарынына.
Берілген массивте жұп орында тұрған элементтерді тақ орында тұрған элементермен орынын ауыстыру.
Берілген массивтің элементтерін кері ретпен орналастыр (бірінші элементті соңғымен, екіншісін оның алдыңғысымен, т.с.с., егер, массив элементтерінің саны тақ болса, ортаңғысы өзгеріссіз қалады).
