Файл: Массивтер Массив бір атауа біріктірілген бір типті шамаларды реттелген тізбегі.ppt

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 29.03.2024

Просмотров: 8

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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


Бірөлшемді массивтер


Массивтер


Жоспар:


Массивтер
Массив - бір атауға біріктірілген бір типті шамалардың реттелген тізбегі.
Паскальда массив құрылымдық типтегі айнымалы ретінде қарастырылады. Массивке тұтасынан бір ат беріледі.
Математикадағы вектор, матрица осы массивке мысал бол алады. Тізбектің айнымалылары массив элементтері деп аталады.
Массивтің элементтері индекспен көрсетіледі.
Индекс элементтердің массивтегі орнын көрсетеді.


Жиым элементтерінің сипатталуы былай көрсетіледі:
Аты: array [индекс өлшемі] of integer;
немесе
Type <тип аты> =array [<бір немесе бірнеше индексті типтер>] of <тип>
Мұндағы
<типтің аты> - дұрыс идентификатор;
array, of – (массив, одан) түйінді сөздер;
[<бір немесе бірнеше индексті типтер>] - бір немесе бірнеше индексті типтердің
тізімі, олар үтір арқылы бөлініп жазылады әрі квадраттық жақшаға алынады;
<тип> - Паскаль тілінің кез-келген типі.
Мысалы:
А: array [1..10] of integer;
С: array [0..6] of сhar;
B: array [5..-5] of real;


Бірөлшемді массивтер


Сызықтық (бірөлшемді) массив - элементтері бір индекспен анықталатын массив. Бірөлшемді массивтерде сызықтық кестелердің мәндері сақталады. Бірөлшемді массивтерді сипаттау мысалдары:
Var B:array [0..5]of real;
R:array[1..4] of char;
N:array[‘A’..’Z’]of integer;
Массивті енгізу және шығару оның элементтерін біртіндеп енгізу және шығару арқылы орындалады. Әдетте бұл үшін параметрлі циклды қолданады.
Массивтерді программада қолдану үшін Turbo Pascal программалау тілінде оларды бірден var бөлімінде сипаттау жолы карастырылған.
Жалпы жазылу түрі:
Var
Массив атауы : array {индекс типі] of элемент типі;
Мысалы, бөлшек сандарға арналған он сегіз элементтен тұратын GR массивін сипаттау:
var
GR : array [1..18] of real;


Мысалы:


Массивтің үлкен элементін анықтау программасын жазыңыз.
Program E2;
Const n=40;
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=’,max);
end.


Блок-схема


max


соңы


max:=a [1]


max

  • i=2..n


    max:=a [i]


    Басы


    n


    i=1..n


    a[i]


    Екіөлшемді массивті тіктөртбұрышты кесте түрінде енгізуге болады. Кестенің әрбір элементінің екі индексі болады, олардың мәні элементтің орнын көрсетеді.
    Математикада квадрат және тіктөртбұрышты кестені матрица деп атайды. Бірінші индекс-жол нөмірі, тек келесі жолға ауысқанда ғана өзгереді; екінші индекс – баған нөмірі. 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]


    i=1


    i=2


    i=3


    i=m


    j=1


    j=2


    j=3


    j=4


    j=n


    Бірінші индекс-жол нөмірі


    Екінші индекс-баған нөмірі


    Const n=…; m=…; {массив өлшемі}
    VAR массив аты: ARRAY [1..n,1..m] OF элементтер типі;
    Мысалы: 5 жолдан және 6 бағаннан барлығы 30 бүтін элементтен тұратын А массивін сипаттау.
    Жазылуы:
    VAR А: ARRAY[1..5,1..6] OF INTEGER;


    Екіөлшемді массивтің сипатталуы


    Жол бойынша ауысу:
    FOR i:=1 to m DO жол нөмірі өзгеретін сыртқы цикл

    FOR j:=1 to n DO баған нөмірі өзгеретін ішкі цикл



    Баған бойынша ауысу:
    FOR j:=1 to n DO баған нөмірі өзгеретін сыртқы цикл

    FOR i:=1 to m DO  жол нөмірі өзгеретін ішкі цикл



    КВАДРАТ МАТРИЦА
    Жолдар саны мен бағандар саны сәйкес келетін екіөлшемді массивті квадрат матрица деп атайды.
    Мысалы:
    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 қатынасы орындалады.


    a[1,1]


    a[1,2]


    a[1,3]


    a[1,4]


    a[2,2]


    a[2,3]


    a[2,4]


    a[3,3]


    a[3,4]


    a[4,4]


    Бас диагональдың төменгі жағында орналасқан элементтер үшін i>j қатынасы орындалады.


    a[1,1]


    a[2,1]


    a[2,2]


    a[3,1]


    a[3,2]


    a[3,3]


    a[4,1]


    a[4,2]


    a[4,3]


    a[4,4]


    Индекстері i=j болса, массив элементтері бас диагональда орналасады;
    Индекстері i Индекстері i>j болса, массив элементтері бас диагональдың төменгі жағында орналасады;


    i=j


    i


    i


    i


    i>j


    i=j


    i


    i


    i>j


    i>j


    i=j


    i


    i>j


    i>j


    i>j


    i=j


    а11


    а12


    а13


    а14


    а21


    а22


    а23


    а24


    а31


    а32


    а33


    а34


    а41


    а42


    а43


    а44


    Жанама диагональ элементтері А[4,1], A[3,2], A[2,3], A[1,4] (жанама диагональда орналасқан элементтерінің индекстері i+j=4+1  жалпы түрде i+j=n+1).


    i+j< n+1– элементтері жанама диагоналінің жоғары жағында орналасқан элементтерінің индекстері


    a[1,1]


    a[1,2]


    a[1,3]


    a[1,4]


    a[2,1]


    a[2,2]


    a[2,3]


    a[3,1]


    a[3,2]


    a[4,1]


    i+j> n+1 – элементтері жанама диагоналінің төменгі жағында орналасқан элементтерінің индекстері


    a[1,4]


    a[2,3]


    a[2,4]


    a[3,2]


    a[3,3]


    a[3,4]


    a[4,1]


    a[4,2]


    a[4,3]


    a[4,4]


    Мысалы: A[1..3,1..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);
    End.