В математиці, економіці, інформатиці часто використовують впорядковані набори даних. Наприклад, це - послідовність чисел, таблиці, списки прізвищ. Для обробки наборів даних одного типу вводиться поняття — масив.
Масив - це сукупність кінцевого числа даних одного типу. Масив позначається змінною. Наприклад: -5.0, 3.2, 1.18 - це масив А. Кожний елемент масиву позначається іменем масиву з індексом. В Pascal індекс заключається в [ ] дужки. Для даного прикладу :
А[1] = -5,0;
А[2] = 3.2;
А[3] =1.18
Якщо в програмі використовують масив, то він повинен бути описаний або в розділі змінних Var або в розділі типів Туре.
Форма опису в розділі Var має вигляд:
Var ім 'я_масиву:аrrау[t1 ] of t2;
Де array - масив;
Of - із
tl – тип індексу, в ролі якого може бути стандартний тип, крім Real.
t2 - тип елементів масива, які допускаються в мові Pascal.
Для попереднього прикладу:
VAR A:ARRAY[1..3]OF REAL;
Якщо декілька масивів мають однаковий тип індексів та однаковий базовий тип, то допускається при описі об'єднувати масиви у список:
VAR A,B,C:ARRAY[1..3] OF REAL;
Елементи масиву можуть знаходитись як в лівій частині оператору присвоєння так і в виразах. Над елементами масиву можливо виконувати ті ж операції, які допускаються для даних його базового типу. Для введення та виведення числових значень масиву використовують цикл
For і:=1 to 3 do
Read(A[i]);
Даний цикл організує введення 3-х значень елементу масива A, а
цикл
For і: =1 to 3 do
Writeln(A[i] ); - виведення 3-х елементів того ж масиву.
Приклад: 1. Які із приведених описів одномірних масивів неправильні і чому ?
a) VarA: array[1..20] of real; +
b) Var В : array [integer] of char; (невірно заданий тип індексу)
c) Var C: array [false..true] of char; +
2. присвоїти нульові значення усім елементам масиву А : array['k'.. 'r']of real;
for i: ='k' to 'r' do
A[i]:=0;
Задача. Ввести текст, що складається із 30 символів. Надрукувати його в зворотньому порядку:
program mas1;
var mas: array[1..30] of char;
i: integer;
begin
writeln('Введіть символи');
for і: =1 to 30 do
read(mas [i]);
for i: =30 downto 1 do
write(mas[i]);
end.
Задача І: Обчислити суму 10 цілих чисел
Program s1;
Var su,i: integer;
X: array [1. . 10] of integer;
Begin
Su: =0;
Writeln('Bведіть числа: ');
For i:=1 to 10 do
Begin
Read(x[i]);
Su: =su+x[i] ;
End;
Writeln('su= ',su:4:2);
End.
Задача 2: Нехай c[1],...c[10] - кількість опадів, що випали в Києві на протязі перших 10 років нашого століття. Підрахувати середню кількість опадів та відхилення від середньої кількості для кожного року.
Program s2;
Var a,c :array[1..10] of real;
I: integer;
Sr,s :real;
Begin
S:=0;
Writeln( 'Введіть числа : ');
For і: =1 to 10 do
Begin
Read(c[i]);
S: =s+c[i];
End;
Sr:=s/10;
For i: =1 to 10
Begin
a[i] : =sr-c[i];
Wrileln(a[i]:4:2);
End;
End.