МАСИВИ

Попередня сторінка Зміст Задачі Наступна сторінка

Масив - це структурний тип даних, який складається з фіксованого числа елементів, які мають один і той же тип.

Можна використовувати і будь-який інший, раніше визначений тип, тому можливе існування масиву рядків , масиву записів, масиву масивів і т. д. Тип елементів масиву називається базовим. Число елементів масиву фіксується при описанні і в процесі виконання програми не змінюється. Доступ до кожного окремого елементу масиву здійснюється шляхом індексування елементів масиву. Індексами можуть бути вирази будь-якого скалярного типу, крім дійсного. Тип індексу визначає границі значень індексу. Для описання масиву використовується словосполучення array of.

Формат.
type
<ім'я типу>=array[<тип індексу>] of <тип компонент> ;

Var <ідентифікатор >:<ім'я типу>;

Масив можна описати неявно в розділі опису змінних:

Var <ідентифікатор>:array[<тип індексу >]of<тип компонент>;

Приклад.
Type Symbol=array[1..255]of char;
Klass=(K1,K2,K3,K4);
Var S:Simbol;
childr:array[1..5] of Klass;
a,b:array [1..10] of real;

Одновимірні масиви a і b, які мають 20 елементів цілого типу можна описати так:

Type Mas=array[1..20] of integer;
Var a,b:Mas;

Двовимірні масиви можна описати так :

Type Mathr=array[<тип 1-го індексу>,<тип 2-го індексу>]of<базовий тип>;
Var <ідентифікатор >:Mathr;

Приклад
Type Mathr=array[1..10,1..5]of real;
Var c:Mathr; d:array[1..7,1..7]of integer;

Масиви (як єдине ціле) можуть брати участь в операціях відношення "рівно" і в операторі прискорення. Масиви, які беруть участь в цих діях повинні бути ідентичними по структурі, тобто мати однаковий тип індексів і базовий тип компонент. Наприклад, для одновимірних масивів a i b, які описані вище, можливе застосування операцій:

Вираз
Результат
A = b True, якщо значення кожного елемента масиву a рівне відповідному значенню елемента масиву b.
а =b True , якщо хоча одне значення елемента масиву а не дорівнює відповідному значенню елемента масиву b
а: =b Всі значення елементів масиву b присвоюють відповідним елементам масиву a. Значення елементів масиву b залишаються незмінними.

Для того , щоб отримати доступ до значень елемента масиву потрібно вказати ім’я масиву і в квадратних дужках індекс елемента. Наприклад , запис a[2] дозволяє звернутися до другого елемента масиву a, запис c[5, 4]- звернутися до елемента , який знаходиться у 5-му рядку і 4-му стовпчику матриці c (одновимірні масиви трактують як вектори, a двовимірні - як матриці).

Паскаль не має засобів вводу та виводу масивів відразу; ввід та вивід значень здійснюється поелементно. Як правило, ввід одновимірних масивів здійснюється при допомозі оператора for і процедури Read або ReadLn:

for і:=1 to 20 do ReadLn(a[і]);

Значення двовимірного масиву вводять з допомогою вкладеного оператора for:

for і:=1 to 10 do
for j:=1 to 5 do Read (c[і, j]);

Вивід значень елементів масиву здійснюється аналогічним способом тільки з використанням стандартних процедур Write. WriteLn

for i:=1 to 20 Write(a[i]);

або

for i:1 to 10 do
begin
for j:=1 to 5 do Write(c[i,j]);
WriteLn;
end;

Попередня сторінка Зміст Задачі Наступна сторінка