Действия над одномерными массивами.
Массивы, объявленные в разделе описания переменных, необходимо заполнить данными, прежде чем выполнять с ними какие-либо действия.
Значения элементов массива также можно задать следующими способами:
В любом случае для заполнения массива используется цикл.
Например, "слепой", без использования комментариев, ввод с клавиатуры:
for i:= 1 to n do readln(a[i]);
Довольно часто массив заполняется при помощи присваивания элементам определенных или случайных значений.
randomize ;
{ инициализация датчика случайных чисел }
for i:=1 to n do x[i]:=random(100);
Вывод массива.
Вывод значений элементов массива также выполняется в цикле for с использованием операторов
write и writeln
А ) в столбец :
for i:=1 to 5 do writeln(a[i]);
Б) в одну строку, через пробел разделитель:
for i:=1 to 5 do write(a[i],' ');
В) или с заданием формата, где под каждый элемент отводится 4 позиции:
for i:=1 to 5 do write(a[i] : 4) ;
Вычисление суммы элементов массива.
program E 12;
const n = 7;
var a: array [1 .. n ] of real; S : real; i: integer;
begin
write ('вводите элементы массива — ' , n , вещественных чисел через пробел');
for i: = 1 to n do read (a [ i ]);
S:= 0;
for i: = 1 to n do S: = S + a[i];
writeln ; {перевод курсора на новую строку}
write (' сумма элементов массива S = ', S);
end.
Нахождение наибольшего элемента массива.
program E 13;
const n = 7;
var a: array [1 .. n ] of integer; max, i: integer;
begin
for i: = 1 to n do
begin
write (a[', i, '] =.');
readln (a [ i ]);
end;
max: = a [ 1 ];
for i: = 2 to n do
if max
then max: = a [ i ];
write (' наибольший элемент массива max = ', max)
end .
Упорядочение массива по возрастанию.
program E14;
const n = 7;
var a : array [ 1.. n ] of real; i, j: integer; c: real;
begin
for i: = 1 to n do
begin
write ('a [‘,i '] = ');
readln (a [ i ])
end;
for i: = 1 to n - 1 do
for j: = i + 1 to n do
if a [ i ] a [ j ] then begin
c: = a [ i ];
a [ i ]: = a [ j ];
a [j]: = с
end;
for i:=1 to n do
write ( a | i |);
end .
Поиск элемента в массиве.
program E 15;
label 1, 2;
const n = 7;
var a : array [1 .. n ] of real; x : real; i : integer;
begin
writeln ('введите элементы массивов');
for i: = 1 to n do
read (a [ i ]);
writeln ;
write ('введите число для поиска в массиве, х = ');
readln (x);
for i: = 1 to n do
if a [ i ] = x then goto 1;
writeln ('такого числа в массиве нет');
goto 2;
1: write ('номер элемента массива, равного данному ', i );
2: end .