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
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 ß жол нөмірі өзгеретін ішкі цикл
…
|
1
|
3
|
-6
|
7
|
8
|
-5
|
3
|
12
|
2
|
-7
|
8
|
10
|
Баған бойынша толтыру:
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 қатынасы орындалады.
Бас диагональ астында орналасқан элементтер үшін 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. Тест тапсырмасын компьютерде орындату.
1. Символдық айнымалының типі
- string
+ char
- integer
2. Cимволдар тіркестерін салыстыр
- ’Balkon’ > ’balkon’
+ ’Balkon’ < ’balkon’
- ’Balkon’ = ’balkon’
3. Cимволдар тіркестерін салыстыр:’comp1’ ? ’comp2’
+ ’comp1’ < ’comp2’
- ’comp1’ = ’comp2’
- ’comp1’ > ’comp2’
4.Берілген 'Азиада алауы' символдар тіркесінің ұзындығын анықтау
- 11
+ 12
- 14
5. S1='ab', S2='array'. Берілген S1 ішкі сөзінің S2 жолында бар жоғын анықтау. Бар болса нешінші орыннан бастап кездеседі.
+ Pos(’ab’,’array’)=0
- Pos(’ab’,’array’)=1
- Pos(’ab’,’array’)=4
6. S:='Отан отбасынан басталады' символдар тіркесінен өшіру процедурасын қолданып Отан сөзін қалдыр.
- Delete(S,6,18)
- Delete(S,1,4)
+ Delete(S,5,20)
7. Массив берілген а:array [1..5] of real. Массив элементтерінің мәні:
-3 2.7 5.3 -2.8 5 а[3] элементтің мәні нешеге тең?
- 7
-5,3
+5.3
8. Қандай кесте сызықтық деп аталады?
- тіктөртбұрышты
- бірнеше жолдан тұратын кесте
+бір жолдан тұратын кесте
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;
V. Тапсырма. A(3x3)квадрат матрицасының бас диагоналіндегі элементтерінің қосындысын есепте.
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.
VI. Сабақты қорытындылау, бағалау.
VII. Үйге тапсырма беру. §5.5
1) Берілген массивтің теріс және оң сандарын есептеу.
2) Тақ элементтердің қосындысын табу керек.
Сабақ аяқталды.
Сау болыңыздар.
Достарыңызбен бөлісу: |