1. Кестелік шамалар, алгоритмдегі кестелік шамаларды Паскалда программалау жолы мен ?дісдері туралы т?сінік ?алыптастыру. ARRAY опреторы ар?ылы программалауды ?йрену, пысы?тау. Бір ж?не екі?лшемді жиымдар туралы ??ым ?алыптастыру.
2. Программаны математикалы? модел ??ру ар?ылы сапалы жазу да?дысын ?алыптастыру. Жиым элементі, элементті берілген ?асиеті бойынша іздеу, с?рыптау туралы т?сініктер ?алыптастыру. Есептерге программалар жазып компьютерде орныдау.
3. Программа м?тінін экран?а ж?не д?птерге жазуды? эстетикасын са?тау.
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Просмотр содержимого документа
«Екі ?лшемді масссив»
НЕГІЗГІ ТҮСІНІК
Әр элементінің тұрған жолы және қатарына тәуелді, бір атаумен байланысқан, бір типті берлілгендер жиынтығын -Екіөлшемді массив деп атайды.
A[1,1]
A[1,2]
A[2,1]
A[2,2]
A[1,3]
…
…
…
A[2,3]
A[n,1]
A[n,2]
A[1,m]
…
…
…
A[n,3]
A[2,m]
…
…
A[n,m]
Бірінші
индекс –
Жол
нөмірі
Екінші
индекс –
Баған
нөмірі
Ең үлкен жол саны
Ең үлкен баған саны
[n, m] , n -ші жол және m -ші баған қиылысында тұратын элементті көрсетеді. Мысалы, а [ 2 , 3 ] . Берілген элемент 2-ші жол және 3-ші бағанда тұрғандығын көрсетеді. Екіөлшемді массивтің өлшемі қос санмен беріледі: N*M, мұндағы N – кестедегі жол саны, ал M – кестедегі баған саны. 8 -1 -5 3 6 3 -6 0 9 0 -4 4 7 3 -8 6 2 9 -5 8" width="640"
жазылуы:массив аты[n, m],n-ші жол жәнеm-ші баған қиылысында тұратын элементті көрсетеді.
Мысалы,а[2,3]. Берілген элемент 2-ші жол және 3-ші бағанда тұрғандығын көрсетеді.
Екіөлшемді массивтің өлшемі қос санмен беріледі:N*M,мұндағы N – кестедегі жол саны, ал M – кестедегі баған саны.
8
-1
-5
3
6
3
-6
0
9
0
-4
4
7
3
-8
6
2
9
-5
8
: Array [1..N, 1..M] Of элемент типі ; Мысалы: Const N = 3 ; M= 4 ; Var А: Array [1..N, 1..M] Of integer;" width="640"
Массивтің сипатталуы
БІРІНШІ әдіс
ConstN =…;M=…;{массив өлшемі}
Varмассив аты:Array[1..N, 1..M]Ofэлемент типі;
Мысалы:
ConstN =3; M=4;
VarА:Array[1..N, 1..M]Of integer;
= Array [1..N, 1..M] Of элемент типі ; Var массив аты : тип аты ; Мысалы: Const N = 3 ; M= 4 ; Type dvmass= Array [1..N, 1..M] Of integer; Var А: dvmass;" width="640"
Массивтің сипатталуы
ЕКІНШІ әдіс
ConstN =…;M=…;{массив өлшемі}
Typeтип аты =Array[1..N, 1..M]Ofэлемент типі;
Varмассив аты: тип аты;
Мысалы:
ConstN =3; M=4;
Typedvmass=Array[1..N, 1..M]Of integer;
VarА: dvmass;
= Array [1..N] Of элемент типі ; тип аты 2 = Array [1..M] Of тип аты 1 ; Var массив аты : тип аты 2 ; Мысалы: Const N = 3; M= 3; Type mass = Array [1..N] Of integer; dvmass= Array [1.. M ] Of mass; Var A: dvmass;" width="640"
Массивтің сипатталуы
Үшінші әдіс
ConstN =…; M=…; {массив өлшемі}
Typeтип аты 1 =Array[1..N]Ofэлемент типі;
тип аты 2 =Array[1..M]Ofтип аты 1;
Varмассив аты: тип аты2 ;
Мысалы:
ConstN =3; M= 3;
Typemass =Array[1..N]Of integer;
dvmass=Array[1..M]Of mass;
VarA: dvmass;
Екіөлшемді массивті қолдану арқылы есептер шығару кезінде қаббаталған циклдер ұйымдастырылады:
For i:=1 to m do begin
жол нөмірі өзгереді
For j:=1 to n do begin
Баған нөмірі өзгереді
Екіөлшемді массивтің толтырылуы
Пернетақта арқылы
Массив элементтерін енгізу:
Program vvodklav ;
Const N=3; M=4;
Var A: array[ 1 ..N, 1 ..M] of integer;
i,j: integer;
Begin
writeln(‘ Масив элементтерін енгіз ') ;
For i:= 1 to N do
For j:= 1 to M do
readln(A [i , j]);
…
End.
Екіөлшемді массивтің толтырылуы
меншіктеу командасы арқылы
Массив элементтерін енгізу:
Program vvodpr;
Const N=3; M= 4 ;
Var A: array[ 1 ..N, 1 ..M] of integer;
i,j: integer;
Begin
A[ 1,1 ]:= 2; For i:= 1 to N do
A[ 1,2 ]:= 4; For j:= 1 to M do
……………… A[i,j]:=2*i+j;
A[n,m]:= 20;
…
End.
Екіөлшемді массивтің толтырылуы
кездейсоқ сандар генераторы
арқылы массив элементтерін енгізу:
Program genslch ;
Const N=3; M=4;
Var A: array[ 1 ..N, 1 ..M] of integer;
i,j: integer;
Begin
Randomize; { генераторды іске қосу }
For i:= 1 to N do { кездесоқ
For j:= 1 to M do сандармен
A[i , j ]:=random( 101 ); толтыру }
…
End.
КЕЗДЕЙСОҚ САНДАР ГЕНЕРАТОРЫ
Кездейсоқ сандар – көптеген мәндер арасынан кездейсоқ таңдалған соңғы нәтиже
Randomize – кездейсоқ сандар генераторының бастапқы қалпын орнату процедурасы. Бағдарлама қайта орындалу кезінде кездейсоқ сандардан әртүрлі сандар шығады.
Функцияrandom - [0; 1] диапазонына тиісті кездейсоқ нақты сан
Функцияrandom (n) –[0; n -1] диапазонына тиісті кездейсоқ сан
Функцияrandom (B-A) +A – [ A ; B ] диапазонына тиісті кездейсоқ сан
Екіөлшемді массивтің элементтерін кесте түрінде шығару
…
writeln(‘Массив элементтерін шығару');
for i:= 1 to n do
begin
for j:= 1 to m do
write (a[i,j], ‘ ‘):
writeln;
end;
…
1. А екіөлшемді массивті қарастырайық(суретте):
А) Берілген массивте неше жол, неше баған?
В) Берілген массивті анықтаныз.
С) Массивтің келесі элементтерінің мәнін анықта:
A[1,5]= , A[5,1]= , A[4,2]= , A[3,2]= .
D) Төмендегі мәні берліген элементтердің
орналасу орның анықта
A[ ..,..]= 17, A[…,…]= 29, A[ ..,..]= 30
Е) Берілген массивті толтыруға қарастырылған қай әдіс тиімді?
2. Төмендегі жазу нені анықтайды? Жасалған барлық сипаттама дұрыс па?
1
3
2
5
4
11
12
13
7
6
21
14
15
9
8
10
16
17
23
22
24
19
18
25
20
27
26
28
29
30
var A: array [1..3,1..5] of real;
i,j: integer;
var C: array [1..4,1..4] of real;
i,j: real;
var B: arr e y [1..7,1..4] of integer;
i,j: integer;
var D = array [1..N,1..M] of integer;
i,j: integer;
Жолдар саны бағандар санына тең болатын екіөлшемді массивті квадрат матрица деп атайды. Элементті көрсету кәдімгі A[i,j] екіөлшемді массивтегідей орындалады.
а11
а12
а21
а22
а13
а31
а41
а14
а23
а32
а42
а24
а33
а43
а34
а44
Кейбір түсініктер енгізейік:
Басты диоганаль: элементтер индексі i=j тең басты диоганалінде орналасқан, сол жақ жоғарғы және төмеңгі оң жақ бұрыштағы массив элементтері және арасында орналасқан элементтер массивтің басты диоганалін құрайды.
жанамадиагональ: элементтер индексі (элементтер индексінің қосындысы жол (баған)өлшемінен 1-ге артық болса, яғни i+j=n+1 тең, оң жақ жоғарғы бұрышта және сол жақ төменгі бұрыш элементтерін және арасында орналасқан элементтер массивтің жанама диоганалін құрайды.
а11
а12
а21
а31
а13
а22
а14
а41
а23
а32
а33
а24
а42
а34
а43
а44
j – элементтері басты диоганальдан төмен орналасқан; i – элементтері басты диоганальдан жоғары орналасқан; i+j= n+1 – элементтері жанама диоганальда орналасқан; i+j – элементтері жанама диоганалінің үстінде орналасқан; i+j n+1 – элементтері жанама диоганалінің астында орналасқан; i j i = j i j i j i j i j i = j i j i = j i j i j i j i + j= i + j= i + j= i + j=n+1 i + j= i + j= i+j=n+1 i+jn+1 i + j= i+jn+1 i+jn+1 i+j=n+1 i+j=n+1 i+jn+1 i+jn+1 i+jn+1" width="640"
ij
ij
i = j
ij
i=j – элементтері басты диоганальда орналасқан; i j – элементтері басты диоганальдан төмен орналасқан; i – элементтері басты диоганальдан жоғары орналасқан; i+j= n+1 – элементтері жанама диоганальда орналасқан; i+j – элементтері жанама диоганалінің үстінде орналасқан; i+j n+1 – элементтері жанама диоганалінің астында орналасқан;
ij
i = j
ij
i j
i j
ij
i = j
i j
i = j
i j
i j
i j
i+j=
i+j=
i+j=
i+j=n+1
i+j=
i+j=
i+j=n+1
i+jn+1
i+j=
i+jn+1
i+jn+1
i+j=n+1
i+j=n+1
i+jn+1
i+jn+1
i+jn+1
Есеп1.
Жанама диоганалі бірден, қалғаны нөлден тұратын А(5х5) квадрат матрицасын құрастыр.
Programр1;
Const n=5;
Var a: array[1..n,1..n] of integer;
i, j, n: integer;
Begin
For i:=1 to n do
For j:=1 to n do
if i+j = n+1 then a[i,j]:=1 else a[i,j]:=0;
Writeln(‘алынған матрица’);
For i:=1 to n do begin
For j:=1 to n do begin
write (a[i,j], ‘ ‘):
writeln;
End; End;
Readln ;
End.
Задача2.A(5x5)квадрат матрицасының басты диоганаліндегі элементтерінің қосындысын есепте.
Programр2;
Const n=5;
Var a: array[1..n,1..n] of integer;
i, j, n,S: integer;
Begin
For i:=1 to n do
For j:=1 to n do begin
write(‘a[‘,i,’,’,j,’)=’); readln (a[i,j]); end;
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.
Үйге тапсырма
А түрінде матрица берілген:
Составить программу
формирующую данную
матрицу.
1
3
10
3
4
10
10
10
3
3
3
10
9
3
10
10
3
3
10
16
3
10
10
10
25
2. Басты және жанама диоганалімен шектелген(диоганальда орналасқан элементтерсіз), квадрат матрицаның 4 ширегін белгілейік: жоғарғы, төменгі, сол жәңе оң. Элементтер қосындысын табу керек:
а) жоғарғы ширекте
б) оң жақ ширекте;
в) төменгі ширекте;
г) сол жақ ширекте.
0 Then S:=S+a[i,j]; If a[i,j]20 Then p:=p*a[i,j]; End; End; WriteLn(‘ Теріс элементтер саны: ’,k); WriteLn(‘ Оң элементтер қосындысы: ’,s); WriteLn(‘ Элементтер көбейтіндісі 20 : ’,p); ReadLn; End." width="640"
Задача 1. Екіөлшемді массивте -30-дан 30-ға дейінгі диапазонда кездейсоқ бүтін сандармен толтырылған. 20-дан үлкен, теріс элементтер санын, оң элементтердің қосындысын және көбейтіндісін табу керек.