1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков в составлении программ с массивами.
2. ОСНОВНЫЕ СВЕДЕНИЯ
Массивы - структурированный тип данных с элементами одного типа. Количество элементов определяет размер массива. Например, массив составляют заработные платы сотрудников подразделения предприятия, здесь число элементов равно числу сотрудников; массив образуют набор чисел, их количество равно числу элементов массива. Номер элемента массива называется его индексом. Массив может иметь не один, а большее число индексов. Число индексов называется размерностью массива, например, массив с двумя индексами называется двумерным массивом. Таким двумерным массивом является, в частности, матрица системы n линейных алгебраических уравнений с n неизвестными. В то же время столбец свободных членов этой системы является одномерным массивом.
Массив должен быть описан либо в разделе переменных VAR, либо в разделе типов TYPE следующим образом:
TYPE <имя_типа> = ARRAY [t1,t2....,tn] OF <тип_элементов_массива>;
VAR <имя_массива> : <имя_типа> ;
или
VAR <имя_массива>: ARRAY [t1,t2,...,tn] OF <тип_элементов_массива>;
где tl,...,tn - тип индекса (перечислимый или интервальный).
Например:
1) VAR a: ARRAY [1..5] OF real;
Описан массив а действительных чисел, который состоит из 5 элементов.
2) TYPE t = ARRAY[1..3,1..4] OF integer;
VAR b : t;
Описана матрица b из 3 строк и 4 столбцов, элементы которой являются целыми числами.
3) TYPE
tl = ARRAY [1..4] OF integer;
t = ARRAY [1..5] OF t1;
VAR d : t;
к : t1;
В начале описан тип одной строки t1, затем тип всей матрицы t через тип строки t1. В разделе переменных указано ,что d -двумерный массив размером (5,4), a k - одномерный массив k(4).
2.1. Пример обработки одномерного массива
Дан одномерный массив MAS(12) из вещественных чисел. Найти наибольший элемент массива и его индекс.
program pr4_1 ;
const n = 12; (*константа n определяет размер массива в описании*)
type
m = array [1..n] of real ; (* m - тип массива mas *)
var mas : m ;
i, num : integer; max : real;
begin
for i:=l to n do (*ввод элементов массива mas по 1 в строке*)
begin
writeln('введите элемент массива', i) ;
read(mas[i]);
end;
num := 1; max := mas[1];
for i: =2 to n do
if mas[i] > max then begin
max := mas[i]; num := i ;
end;
writeln; (* вывод массива в строку*)
for i:=l to n do write (mas[i]:5:1);
writeln;
writeln ('максимальный элемент = ', max:4:1,' его индекс=' ,num );
end.
Переменная max сравнивается с элементами массива, и если элемент массива больше max, то переменной max присваивается значение элемента массива, а переменной num - индекс этого элемента. По окончании цикла переменная max будет иметь значение, равное максимальному элементу массива, а переменная num - значение индекса этого элемента.
Достарыңызбен бөлісу: |