2) Скорочена:
Type <ім'я типу> = array [<тип індексу 1 >,<тип індексу 2 >… <тип індексу n>] of <тип елементів>;
Оператор присвоєння можна застосовувати до масиву як до єдиного цілого. Для цього необхідно, щоб масиви були одного й того самого типу. В результаті виконання оператора а:=b усі значення елементів масиву b будуть присвоєні відповідним елементам масиву а.
Так, для описаних вище змінних правильним є оператор аr2[3]:=а (оскільки аr2[3] є масив того самого типу, що й масив а). Оператор присвоєння с:=а неправильний, оскільки масиви а і с не еквівалентних типів.
Доступ до елементів масиву. Елементи масиву зображаються в програмі за допомогою імені елемента масиву, який складається з імені масиву та індексу в квадратних дужках. Для наведеного вище прикладу color[green] – байтова величина, matrix[4,7] – дійсна величина, аr2[10] – величина типу аr. Для багатовимірних масивів допускається така форма запису доступу до елемента: matrix[1][2], аr2[4][0] – відповідно те саме, що й matrix[1,2], аr2[4,0].
Масив констант описується так само, як і звичайний масив, але після опису базового типу ставиться знак =, за яким в круглих дужках перелічено через кому значення елементів масиву.
Наприклад,
Type rgb = (red,green,blue);
Const color:array [1..4] of rgb= (red,green,blue,green);
table:array [1..5] of Real = (0,0.5,1,1.5,-8e10);
Багатовимірні масиви констант описуються аналогічно, причому кожна вимірність задається в круглих дужках.
Наприклад,
Type rectangle = array [1..4,1..2] of Integer;
Const box:rectangle = ((0,0),(0,1),(5,1),(5,0));
Задавати символьні масиви-констант можна двома способами:
Const vocal:array [1..7] of Char = ('А', 'Е', 'І', ' J', 'О', 'U', 'Y');
Const vocal:array [1..7] of Char =’АЕІJОUY’.
1.2. Приклад виконання лабораторного завдання
Задача. Дана цілочислова матриця із розмірністю mxn. Отримати послідовність b1....bn, де bi – це добуток додатних непарних елементів в і-му рядку.
Вказівки: попередню матрицю задавати самостійно.
Блок-схема і текст програми.
Var a:array[1..20,1..20]of integer;
b: array[1..20]of integer;
i,j,n,m:1..20;
begin
write('Введіть розмірність матриці n,m:');
readln(n,m);
writeln('Введіть початкову матрицю ',n,’x’,m);
for i:=1 to n do
for j:=1 to m do readln(a[i,j]);
for i:=1 to n do
begin
b[i]:=1;
for j:=1 to m do
if odd(a[i,j]) then b[i]:=b[i]*a[i,j];
end;
writeln('Початкова матриця A:’);
for i:=1 to n do begin
for j:=1 to m do write(a[i,j]:4);
writeln end;
writeln('Матриця b:’);
for i:=1 to n do writeln(b[i]);
readln
end.
2. Завдання до виконання лабораторної роботи
а) вивчити правила організації масивів та синтаксис описання в програмі одновимірних та двовимірних масивів(матриць);
б) вивчити організацію вкладених циклів з урахуванням порядку перебору елементів матриці;
в) вивчити правила використання прийомів програмування в структурах із вкладеними циклами;
г) розробити алгоритм виконання задач свого варіанту, записавши їх у вигляді блок-схем;
д) забезпечити в програмі виведення коментарів та природне завершення програми в випадках можливого зациклення та зависання програми. Двовимірні масиви повинні виводитися у вигляді матриць.
