Екі өлшемді массив
Сабақтың тақырыбы: Екі өлшемді массив
Сабақтың мақсаты: білімділік: екі өлшемді массив, квадрат матрица, бас және жанама
диагональдары туралы негізгі түсінік қалыптастыру;
дамытушылық: бағдарлама құру дағдысын, өзін-өзі бақылау, танымдық қызығушылығын дамыту.
тәрбиелік: жауапкершілікке тәрбиелеу;
Құралдар: компьютерлер, тақта.
Көрнекілік: Слайд (ноутбуктен)
Сабақ барысы: І. Ұйымдастыру.
ІІ. Үй тапсырмасын тексеру.
ІІІ. Жаңа тақырып түсіндіру
ІV. Тест тапсырмасы
- Бекіту тапсырмасы. (Компьютерде өз бетімен орындау).
- Сабақты қорытындылау, бағалау.
- Үйге тапсырма беру.
ІІ. Үй тапсырмасы бойынша сұрақтар
- a) 1. Массив және массив өлшемі дегеніміз не?
- Массивтердің негізгі параметрлеріне нелер жатады?
- Массивті айнымалылар бөлімінде қалай сипаттайды?
- Массивтерге қолданылатын амалдар қандай?
- Массивтерді пернетақтадан қалай енгізеді?
- Массивтерді экранға қалай шығарады?
- Массив элементтерін қосу бойынша қалай ауыстыруға болады?
- Көпіршік әдісі дегеніміз не?
- b) Тапсырма: Массив элементтерін өсу бойынша реттеу.
Program М2;
const n=6;
var a:array [1..n] of integer; max,i:integer;
Begin
for i:=1 to n do
read(a[i]);
max:=a[1];
for i:=2 to n do
if max<a[i] then max:=a[i];
writeln;
write(’үлкен элемент=’,max);
readln;
end.
ІII. Жаңа сабақ: Екіөлшемді массив.
Екіөлшемді массивті кесте түрінде енгізуге болады. Кестенің әрбір элементінің екі индексі болады, олардың мәні элементтің орнын көрсетеді.
Математикада квадрат және тіктөртбұрышты кестені матрица деп атайды. Бірінші индекс — жол нөмірі, тек келесі жолға ауысқанда ғана өзгереді; екінші индекс – баған нөмірі. m жолдан және n бағаннан тұратын кестені m*n өлшемді кесте деп атайды.
А[1,1] | А[1,2] | А[1,3] | А[1,4] | … | А[1,n] |
А[2,1] | А[2,2] | А[2,3] | А[2,4] | … | А[2,n] |
А[3,1] | А[3,2] | А[3,3] | А[3,4] | … | А[3,n] |
… | … | … | … | … | … |
А[m,1] | А[m,2] | А[m,3] | А[m,4] | … | А[m,n] |
Екіөлшемді массивтің сипатталуы
1 | 3 | -6 | 7 |
8 | -5 | 3 | 12 |
2 | -7 | 8 | 10 |
1) Берілген массивте неше жол, неше баған?
2) Берілген массивті сипаттаңыз.
3) Массивтің элементтерінің мәнін ата: A[1,3]= , A[3,1]= , A[2,2]=
4) Массивтің мәндері бойынша орнын анықта
A[ ..,..]= 10, A[..,..]= 3, A[ ..,..]= -7
Жауабы:
- 3 жол, 4 баған
- A: array [1..3,1..4] of integer
- -6, 2, -5
- A[3,4], A[1,2], A[2,3],
Екіөлшемді массивтермен жұмыстың негізгі алгоритмдері
Екіөлшемді массивті толтыру.
А массиві 3 жолдан және 4 бағаннан тұрады. Барлығы 3*4=12 элемент.
Жол бойынша толтыру:
FOR i:=1 to 3 DO {жол нөмірі өзгеретін сыртқы цикл}
FOR j:=1 to 4 DO {баған нөмірі өзгеретін ішкі цикл} Read (A[i,j]); {пернетақтадан енгізу}
Жол бойынша ауысу: FOR i:=1 to m DO ßжол нөмірі өзгеретін сыртқы цикл … FOR j:=1 to n DO ßбаған нөмірі өзгеретін ішкі цикл … |
Баған бойынша ауысу: FOR j:=1 to n DO ßбаған нөмірі өзгеретін сыртқы цикл … FOR i:=1 to m DO ß жол нөмірі өзгеретін ішкі цикл
|
Баған бойынша толтыру:
FOR j:=1 to 4 DO {баған нөмірі өзгеретін сыртқы цикл}
FOR i:=1 to 3 DO {жол нөмірі өзгеретін ішкі цикл}
Read (A[i,j]); {пернетақтадан енгізу}
Массивтің элементтерінің қосындысы.
…
S:=0;
FOR i:=1 to 3 DO
FOR j:=1 to 4 DO
S:=S+A[i,j];
Әр жол және әр баған элементтерінің қосындысын есептеу.
Бірөлшемді массив элементтерінің қосындысын есептейтін негізгі алгоритмді қолданамыз және жолдар қанша болса сонша рет қайталаймыз.
Program М1;
Var a: array[1..3,1..4] of integer; i, j, S: integer;
Begin
For i:=1 to 3 do
For j:=1 to 4 do
read(a[i,j]);
FOR i:=1 to 3 DO begin
S:=0;
FOR j:=1 to 4 DO
S:=S+A[i,j];
WRITELN(I,’ жол қосындысы= ’ , S);
End;
Readln;
End.
КВАДРАТ МАТРИЦА
Жолдар саны мен бағандар саны сәйкес келетін екіөлшемді массивті квадрат матрица деп атайды.
Мысалы:
Var A: array [1..4,1..4] of integer;
{Массивтің барлық элементтері бүтін сандар}
А[1,1] | А[1,2] | А[1,3] | А[1,4] |
А[2,1] | А[2,2] | А[2,3] | А[2,4] |
А[3,1] | А[3,2] | А[3,3] | А[3,4] |
А[4,1] | А[4,2] | А[4,3] | А[4,4] |
Бас диагональ: элементтері a[1,1], a[2,2], a[3,3], a[4,4] (бас диагональда орналасқан элементтерінің индекстері (i=j));
а11 | а12 | а13 | а14 |
а21 | а22 | а23 | а24 |
а31 | а32 | а33 | а34 |
а41 | а42 | а43 | а44 |
Бас диагональ үстінде орналасқан элементтер үшін i<j қатынасы орындалады.
Бас диагональ астында орналасқан элементтер үшін i>j қатынасы орындалады.
Жанама диагональ элементтері А[4,1], A[3,2], A[2,3], A[1,4] (жанама диагональда орналасқан элементтерінің индекстері i+j=4+1 à жалпы түрде i+j=n+1).
а11 | а12 | а13 | а14 |
а21 | а22 | а23 | а24 |
а31 | а32 | а33 | а34 |
а41 | а42 | а43 | а44 |
i+j< n+1– элементтері жанама диоганалінің үстінде орналасқан;
i+j> n+1– элементтері жанама диоганалінің астында орналасқан;
- IV. Тест тапсырмасын компьютерде орындату.
- Символдық айнымалының типі
— string
+ char
— integer
- Cимволдар тіркестерін салыстыр
— ’Balkon’ > ’balkon’
+ ’Balkon’ < ’balkon’
— ’Balkon’ = ’balkon’
- Cимволдар тіркестерін салыстыр:’comp1’ ? ’comp2’
+ ’comp1’ < ’comp2’
— ’comp1’ = ’comp2’
— ’comp1’ > ’comp2’
4.Берілген ‘Азиада алауы’ символдар тіркесінің ұзындығын анықтау
— 11
+ 12
— 14
- S1=’ab’, S2=’array’. Берілген S1 ішкі сөзінің S2 жолында бар жоғын анықтау. Бар болса нешінші орыннан бастап кездеседі.
+ Pos(’ab’,’array’)=0
— Pos(’ab’,’array’)=1
— Pos(’ab’,’array’)=4
- S:=’Отан отбасынан басталады’ символдар тіркесінен өшіру процедурасын қолданып Отан сөзін қалдыр.
— Delete(S,6,18)
— Delete(S,1,4)
+ Delete(S,5,20)
- Массив берілген а:array [1..5] of real. Массив элементтерінің мәні:
-3 2.7 5.3 -2.8 5 а[3] элементтің мәні нешеге тең?
— 7
-5,3
+5.3
- Қандай кесте сызықтық деп аталады?
— тіктөртбұрышты
— бірнеше жолдан тұратын кесте
+бір жолдан тұратын кесте
9.А:array[1..40] of real жиымы элементтерін пернетақтадан енгізу программасының үзіндісі
+ for i:=1 to n do read(a[i]);
— for i:=1 to 40 do write(a[i]);
+ for i:=1 to 40 do read(a[i]);
10.А:array[1..40] of real жиымы элементтерінің қосындысын табатын программаның үзіндісі
— for i:=1 to 40 do S:=S+1;
+ for i:=1 to 40 do S:=S+a[i];
— for i:=1 to 40 do S:=a[i]+1;
- Тапсырма. A(3×3)квадрат матрицасының бас диагоналіндегі элементтерінің қосындысын есепте.
Program М1;
Const n=3;
Var a: array[1..n,1..n] of integer;
i, j, S: integer;
Begin
For i:=1 to n do
For j:=1 to n do
read(a[i,j]);
S:=0;
For i:=1 to n do
For j:=1 to n do
If i= j then S:=S+a[i,j];
Writeln(‘диагональ элементтерінің қосындысы тең= ‘,S);
Readln;
End.
- Сабақты қорытындылау, бағалау.
VII. Үйге тапсырма беру. §5.5
1) Берілген массивтің теріс және оң сандарын есептеу.
2) Тақ элементтердің қосындысын табу керек.
Сабақ аяқталды. Сау болыңыздар.