Ввод массива Паскаля
Для того чтобы ввести значения элементов массива, необходимо последовательно изменять значение индекса, начиная с первого до последнего, и вводить соответствующий элемент. Для реализации этих действий удобно использовать цикл с заданным числом повторений, т.е. простой арифметический цикл, где параметром цикла будет выступать переменная – индекс массива Паскаля. Значения элементов могут быть введены с клавиатуры или определены с помощью оператора присваивания.
Begin
For i:=1 to 10 do
Readln (a[i]); { ввод i- го элемента производится с клавиатуры }
2. Способы заполнения массивов:
1 способ program pr1; var a: array [1..5] of integer; i:integer; begin writeln (‘Первый способ’); a[1]:=6; a[2]:=9; a[3]:=5; a[4]:=8; a[5]:=6; for i:=1 to 5 do writeln (a [i]); readln; end. | 2 способ Program pr2; Var A: array [1..5] of real; i:integer; begin writeln (‘Второй способ’); For i:=1 to 5 do Readln (a [i]); Readln; end. |
Вывод массива Паскаля
Вывод массива в Паскале осуществляется также поэлементно, в цикле, где параметром выступает индекс массива, принимая последовательно все значения от первого до последнего.
Пример фрагмента программы вывода массива Паскаля
Var
A: array [1..10] of integer;
I: byte; {переменная I вводится как индекс массива}
Begin
For i:=1 to 10 do
Write (a [ i ],’ ‘); {вывод массива осуществляется в строку, после каждого элемента печатается пробел}
Вывод можно осуществить и в столбик с указанием соответствующего индекса. Но в таком случае нужно учитывать, что при большой размерности массива все элементы могут не поместиться на экране и будет происходить скроллинг, т.е. при заполнении всех строк экрана будет печататься очередной элемент, а верхний смещаться за пределы экрана.
Пример программы вывода массива Паскаля в столбик
Var
A: array [1..10] of integer;
I: byte; {переменная I вводится как индекс массива}
Begin
For i:=1 to 10 do
Writeln (‘a[‘, i,’]=’, a[i]); { вывод элементов массива в столбик }
На экране мы увидим, к примеру, следующие значения:
a [1]=2
a [2]=4
a [3]=1 и т.д.
Пример решения задачи с использованием массивов Паскаля
Задача: даны два n -мерных вектора. Найти сумму этих векторов.
Решение задачи:
- Входными данными в этой задаче будут являться два одномерных массива. Размер этих массивов может быть произвольным, но определенным. Т.е. мы можем описать заведомо большой массив, а в программе определить, сколько элементов реально будет использоваться. Элементы этих массивов могут быть целочисленными. Тогда описание будет выглядеть следующим образом:
var a, b: array [1..100] of integer;
- Выходными данными будут элементы результирующего массива, назовем его c. Тип результирующего массива также должен быть целочисленным.
- Кроме трех массивов нам потребуется переменная – параметр цикла и индекс массива, назовем ее i, а также переменная n для определения количества элементов в каждом массиве.
Ход решения задачи:
- определим количество элементов (размерность) массивов, введем значение n;
- введем массив a;
- введем массив b;
- в цикле, перебирая значения индекса i от 1 до n, вычислим последовательно значения элементов массива c по формуле:
c [ i ]= a [ i ]+ b [ i ];
- выведем на экран полученный массив.
Текст программы:
Пример программы суммирования векторов
Program summa;
Var
a, b, c: array [1..100] of integer;
I, n: byte;
Begin
Write (‘введите размерность массивов:’);
Readln(n);
For i:=1 to n do
Readln (a[i]); { ввод массива a}
For i:=1 to n do
Readln (b[i]); { ввод массива b}
For i:=1 to n do
C[i]:=a[i]+b[i]; { вычисление суммы массивов }
For i:=1 to n do
write (c[i],’ ‘); { вывод массива с }
end.
Вывод: