Екі өлшемді массив

254

Сабақтың тақырыбы:    Екі өлшемді массив

Сабақтың мақсаты:        білімділік: екі  өлшемді массив, квадрат матрица, бас және жанама

диагональдары туралы негізгі түсінік қалыптастыру;

дамытушылық: бағдарлама құру дағдысын, өзін-өзі бақылау, танымдық қызығушылығын дамыту.

тәрбиелік: жауапкершілікке тәрбиелеу;

Құралдар:  компьютерлер, тақта.

Көрнекілік: Слайд (ноутбуктен)

Сабақ барысы:           І.  Ұйымдастыру.

ІІ. Үй тапсырмасын тексеру.

ІІІ. Жаңа тақырып түсіндіру

ІV. Тест тапсырмасы

  1. Бекіту тапсырмасы. (Компьютерде өз бетімен орындау).
  2. Сабақты қорытындылау, бағалау.
  • Үйге тапсырма беру.

ІІ. Үй тапсырмасы бойынша сұрақтар

  1. a) 1. Массив және массив өлшемі дегеніміз не?
  2. Массивтердің негізгі параметрлеріне нелер жатады?
  3. Массивті айнымалылар бөлімінде қалай сипаттайды?
  4. Массивтерге қолданылатын амалдар қандай?
  5. Массивтерді пернетақтадан қалай енгізеді?
  6. Массивтерді экранға қалай шығарады?
  7. Массив элементтерін қосу бойынша қалай ауыстыруға болады?
  8. Көпіршік әдісі дегеніміз не?
  9. 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– элементтері жанама диоганалінің астында орналасқан;

 

 

 

  1. IV. Тест тапсырмасын компьютерде орындату.
  2. Символдық айнымалының типі

— string

+ char

— integer

  1. Cимволдар тіркестерін салыстыр

— ’Balkon’ > ’balkon’

+ ’Balkon’ < ’balkon’

— ’Balkon’ = ’balkon’

  1. Cимволдар тіркестерін салыстыр:’comp1’ ? ’comp2’

+ ’comp1’  <  ’comp2’

— ’comp1’  = ’comp2’

— ’comp1’  >  ’comp2’

4.Берілген ‘Азиада алауы’ символдар тіркесінің ұзындығын анықтау

— 11

+ 12

— 14

  1. S1=’ab’, S2=’array’. Берілген S1 ішкі сөзінің S2 жолында бар жоғын анықтау.  Бар болса нешінші орыннан  бастап кездеседі.

+ Pos(’ab’,’array’)=0

— Pos(’ab’,’array’)=1

— Pos(’ab’,’array’)=4

  1. S:=’Отан отбасынан басталады’ символдар тіркесінен өшіру процедурасын қолданып Отан сөзін қалдыр.

— Delete(S,6,18)

— Delete(S,1,4)

+ Delete(S,5,20)

  1. Массив берілген а:array [1..5] of real. Массив элементтерінің мәні:

-3  2.7  5.3  -2.8   5             а[3] элементтің мәні нешеге тең?

— 7

-5,3

+5.3

  1. Қандай кесте сызықтық деп аталады?

— тіктөртбұрышты

— бірнеше жолдан тұратын кесте

+бір жолдан тұратын кесте

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;

  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.

  1. Сабақты қорытындылау, бағалау.

VII. Үйге тапсырма беру. §5.5

1) Берілген массивтің теріс және оң сандарын есептеу.

2) Тақ элементтердің қосындысын табу керек.

Сабақ аяқталды.            Сау болыңыздар.