МАСИВИ
![]() |
Зміст | Задачі | ![]() |
Масив - це структурний тип даних, який складається з фіксованого числа елементів, які мають один і той же тип.
Можна використовувати і будь-який інший, раніше визначений тип, тому можливе існування масиву рядків , масиву записів, масиву масивів і т. д. Тип елементів масиву називається базовим. Число елементів масиву фіксується при описанні і в процесі виконання програми не змінюється. Доступ до кожного окремого елементу масиву здійснюється шляхом індексування елементів масиву. Індексами можуть бути вирази будь-якого скалярного типу, крім дійсного. Тип індексу визначає границі значень індексу. Для описання масиву використовується словосполучення 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;
![]() |
Зміст | Задачі | ![]() |