Масив (array) –це скінчений набір елементів одного (базового) типу, які зберігаються в послідовно розташованих комірках оперативної пам’яті і мають спільну назву.
У математиці поняттю масив відповідають поняття вектора та матриці. Розрізняють одно та багатовимірні масиви. Двовимірний масив даних – це таблиця, що складається з декількох рядків.
Загальний вигляд конструкції типу масиву такий:
Array [<hjpvsh] of < назва базового типу>;
Описати масив можна у розділі опису типівtype,у розділі констант const,або у розділі оголошення змінних var. Назви типів масивів і змінних-масивів придумує користувач.
Приклад. Елементам описаних масивів можна надати значення так: a[1]:=15.1; b[tue]:=3; c[1]:’a’; c[2]:=’b’. Сталі елементи мають такі значення: vydatky[1]=1.2; vydatky[2]=1;…; vydatky[10]=1.3.
Приклад. Створити масив з перших ста цілих чисел і обчислити суму всіх його елементів можна так:
s:=0; fori;=1 to100 do begina[i]:=i; s:=s+a[i] end; writeln(s);
Задачі відшукування в масиві конкретних даних розв’язують методом сканування (перебирання, перегляду) усіх елементів масиву за допомогою циклу і умовної команди, де зазначають умову пошуку.
Задача 1. Нехай yk – це число викликів, які поступають на АТС за k-ту секунду. Припустимо, що yk – випадкове число зі значенням від 0 до 6, яке генерується формулою – trunk(abs(7sin(k))).
Утворити масив у з десятьма елементами (k=1,10). Обчислити суму викликів за перші 10 секунд роботи АТС та максимальну кількість викликів, що були за деяку одну секунду. Вивести результати обчислень.
Program ATS;
UsesCrt;
typevyklyk=array[1…10] of integer;
vary: vyklyk: max,s,I: integer;
Begin
clrscr;
max:=0; s:=0: (Припустимо, що max=0)
fori:=1to 10 do
begin(Обчислимо кількість викликів)
y[i]:=trunk(abs(7*sin(i))): (за і-ту секунду)
write (Кількість викликів за ’,I ,’ – ту секунду:’):
writeln(y[i]:5); (Виведемо цю кількість)
s:=s+y[i]; (Обчислимо суму викликів)
ify[i]>max thenmax:=y[i]; (Обчислимо max значення)