Первый способ ввода элементов массива.
Program M1;
Var
A: Array [1..20] Of Integer;
Begin
A[1]:=7; {Заполняем массив значениями (отдельно каждый компонент)}
A[2]:=32;
A[3]:=-70;
.............. {Трудоемкая задача?}
A[20]:=56;
Writeln(A[1],A[2],A[3], …,A[20])
End.
Как бы ни был примитивен приведенный пример, он все же иллюстрирует возможность непосредственного обращения к каждому элементу массива отдельно. Правда, никакого преимущества массива перед несколькими простыми переменными здесь не видно.
Второй способ:
а) программа вводит с клавиатуры 20 целых чисел, а затем распечатывает их в обратном порядке.
Program M2;
Var
A: Array [1..20] Of Integer;
I: Integer;
Begin
For I:=1 To 20 Do {Организуем цикл с параметром I по всем воз-
можным значениям индексов}
Readln(A[I]); { и вводим A[I] с клавиатуры }
For I:=20 Downto 1 Do {Распечатываем массив в обратном порядке}
Write(A[I],'VVV')
End.
б) программа заполняет массив значениями квадратов индексов элементов.
Program M3;
Const
N=50; {Константа N будет содержать количество элементов массива}
Var
A: Array [1..N] Of Integer;
I: Integer;
|
|
Begin
For I:=1 To N Do
A[I]:=I*I
For I:=1 To N Do
Write(A[I],' ')
End.
Третий способ.
Можно использовать массивы, заданные с помощью генератора случайных чисел. В языке Паскаль случайные числа формирует функция Random(Параметр:Word). Параметр указывает диапазон значений случайного числа Х. Оно изменяется в пределах 0<=X< Параметр. Результат в этом случае имеет тип Word. Если параметр не задан, результат будет типа Real в пределах 0.0<=X<1.0. Перед обращением к функции ее целесообразно инициализировать, использовав процедуру Randomize.
Зададим и распечатаем случайный массив из сорока целых чисел
Program M4;
Const
N=40; {Константа N будет содержать количество элементов массива}
Var
A: Array [1..N] Of Integer;
I: Integer;
Begin
Randomize; //инициализация функции Random
For I:=1 To N Do
Begin
A[I]:= Random(101) - 50; //или –50+Random(101)
Write(A[I],' ')
End
End.
Определить максимальную температуру месяца
Program М5;
Uses crt;
Var
t: array [1..31] of integer;
I, max, n: integer; //n – порядковый номер максимального элемента
Begin
Clrscr; // «очистка» экрана
For i:=1 to 31 do
Begin
t[i]:=random(20);
Write(b[i], ‘ ‘);
End;
Max:=t[1]; n:=1;
For i:=2 to 31 do
Begin
If t[i] > max then
Begin
max:=t[i];
n:=i;
End;
End;
Write(‘максимальная температура’, max, ‘в’, n, ‘день’);
End.
Процедуры инициализации и вывода массива
Program Enter_Exit;
Const
n = 10; dd = 51;
Type
my = Array [1.. n] Of Integer;
Var
A: my;
Procedure Init (Var A1: my);
Var
i: Integer;
Begin
For i:= 1 Do n Do
a1[I ]:= -25 + random (dd);
End;
Procedure Print (A1: my);
Var
i: Integer;
Begin
For i:=1 to n do
write (a1[i]:3);
End;
Begin // тело программы
Init (A);
Printl (A);
End.