3.Диапазон –количество допустимых значений каждого индекса;
Описание массивов проводится в блоке Var следующим образом:
Имя массива : array[is..ie, js..je,…] of тип элементов;
Где
Array -означает “массив”;
[is..ie, js..je,…] -начальное и конечное значение первого, второго и пр.
индексов массива (индекс может быть один)
тип элементов- любой тип Турбо-Паскаля.
Например, представленные выше массивы должны быть описаны так:
Var a: array [1..6] of integer;
b: array [0..3,0..2] of word;
Можно описать массив по-другому, пользуясь оператором описания типа:
Type Имя типа= array[is..ie, js..je,…] of тип элементов;
Var Имя массива : имя типа;
Например:
Type
vect = array [0...9] of real;
matr = array [0..9, 0..4] of integer;
Var
a,b:vect;
m1,m2: matr;
2.Ввод элементов.
Ввод элементов массива можно осуществить несколькими способами.
Ввод массива
а) Оператором присваивания
б)С клавиатуры г) как типизированную
константу
в) Генератором
случайных чисел
а) Ввод с помощью оператора присваивания.
Самый нерациональный способ ввода. Пример:
Program Pr1;
Var a: array [1..4] of word;
Begin
a[1]:=2;
a[2]:=21;
…
б)Ввод элементов с клавиатуры (используем, когда значения элементов массива вполне определенные, но разные при каждом запуске программы).
Program Pr1;
Var a: array [1..4] of integer;
i: integer;
Begin
For i:=1 to 10 do Read(a[i]);
…
Здесь цикл перебирает все значения индекса массива.
в)С помощью генератора случайных чисел.
(используем, когда все равно, какие значения имеют элементы массива):
Var a: array [1..4] of real;
i: integer;
Begin
For i:=1 to 10 do
a[i]:=random;
…
В этом случае функция random генерирует псевдослучайные числа в интервале от 0 до1.
г) Массив как типизированная константа.
(используется, когда значения элементов массива фиксированы).
Program Pr;
Const a: array [1..5] of integer =(5,4,9,1,2);
Begin
…
А далее в программе типизированные константы используются как переменные, т.е. могут быть изменены.
3. Пример использования одномерного массива.
Задача. Найти максимальный элемент целочисленного одномерного массива, заполненного случайными числами.
План:
1.Сформировать массив;
2.Присвоить вспомогательной переменной Emax значение первого элемента массива;
3.Сравнить все элементы массива с Emax, если найдется больший элемент, заменить значение Emax.
Program Mass;
Const M=100;
Var
Mas:array[1..M] of integer;
Emax, i: integer;
Begin
Randomize; {Процедура устанавливает новый ряд случайных чисел}
For i:=1 to M do
Mas[i]:=random(500); {Функция генерирует целые числа от 0 до 500}
Emax:=Mas[1];
For i:=1 to M do
If Emax< Mas[i] then begin
Emax:=Mas[i];
Imax:=i;
end;
Writeln(‘Максимальный элемент массива Mas[‘,Imax:2,’]=’, Emax:3);
End.
4.Особенности использования двумерных массивов.
При использовании двумерных массивов для работы с его элементами необходимо одновременно перебирать два индекса. Это делается с помощью вложенных циклов. Например, ввести случайным образом элементы двумерного массива и распечатать их в виде двумерной таблицы можно так:
program pr;
var
a:array[1..10,1..5] of integer;
i,j:word;
begin
for i:=1 to 10 do заполнение двумерного
for j:=1 to 5 do массива случайными числами
a[i,j]:=random(10);
for i:=1 to 10 do
begin
for j:=1 to 5 do
write(a[i,j]:2); печать элементов массива
writeln;
end;
end.
В этом примере для печати элементов одной строки массива (матрицы) используется оператор write(a[i,j]:2). Для печати следующей строки курсор переводится на строку вниз оператором writeln.
Еще пример. Программа находит в двумерном массиве минимальный элемент и перемещает его на место a[1,1].