Описание массивов
а) одномерных:
Var Имя: array [Список типов индексов] of Тип элементов;
где Список типов индексов – чаще всего ограниченный тип, например: 1..10;
Тип элементов – тип элементов, допустимый в языке Паскаль, например: Real, Integer, Char, Boolean или определенный пользователем.
б) двухмерных:
Var Имя: array [Список типов индексов1, Список типов индексов2] of Тип элементов;
Пример: Var А: array [1..5,1..6] of Real; - описана матрица (двухмерный массив) из 5 строк и 6 столбцов.
Ввод-вывод элементов массива
а) одномерного:
for i:=1 to 10 do read(a[i]); - вводятся элементы массива А, набранные на клавиатуре в одну строку через пробел (после набора последнего – нажать Enter).
for i:=1 to 10 do write(a[i]);- выводятся элементы массива А в строку через пробел;
for i:=1 to 10 do writeln('a[',i:2,']=',a[i]); - выводятся элементы массива А с комментарием по одному в каждой строке;
б) двухмерного:
for i:=1 to 5 do
for j:=1 to 6 do read(a[i,j]); - данные набираются в одну строку: пять элементов одной строки и нажать Enter, затем пять элементов другой строки и т.д. все шесть строк.
|
|
for i:=1 to 5 do
begin
for j:=1 to 6 do write(a[i,j]); - выводится строка матрицы
writeln; - переход на новую строку
end;
Типовые задачи на массивы с циклами
Дан одномерный массив А, состоящий из 10 элементов.
1 Найти сумму элементов массива А.
…for i:=1 to 10 do s:=s+a[i];
2 Найти сумму только положительных (отрицательных, отрицательных и положительных одновременно) элементов массива А.
…for i:=1 to 10 do if a[i] > 0 then s:=s+a[i];
3 Найти количество положительных (отрицательных; отрицательных и положительных одновременно; равных какому-либо значению) элементов массива А.
…for i:=1 to 10 do if a[i] > 0 then k:=k+1;
4 Вывести на печать номера элементов массива А, равных p (равных какому-либо значению).
…for i:=1 to 10 do if a[i] = 3.14 then Writeln(‘Номер=’, i:2);
5 Переписать элементы массива А в массив В (В также состоит из 10 элементов).
…for i:=1 to 10 do b[i]:=a[i];
…
Реализация вложенных циклов
1 Найти сумму элементов матрицы М, состоящей из 3-х строк и 4-х столбцов.
…for i:=1 to 3 do
for j:=1 to 4 do s:=s+M[i,j];
2 Подсчитать, сколько раз элементы массива А встретятся в массиве В.
…for i:=1 to 10 do
begin
for j:=1 to 10 do if a[i]=b[j] then k:=k+1;
writeln(‘a[’,i:2,’] встретился в массиве В’, k:2, ‘раз’);
end;
…