Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal_лекция7.doc
Скачиваний:
21
Добавлен:
30.03.2015
Размер:
95.23 Кб
Скачать

Ввод массива

Если вы вводите значения элементов массива с клавиатуры, то получится следующая запись:

.

.

for i:=1 to 5 do

read(a[i]);

.

Можно заполнить массив с помощью генератора случайных чисел:

.

.

randomize;

for i:=1 to 5 do

a[i]:=random(50);

.

.

В этом случае массив заполнится случайными целыми числами от 0 до 49.

Если использовать запись a[i]:=random; массив заполнится случайными действительными числами от 0 до 1.

Вывод массива

Чтобы вывести массив, нужно также последовательно перебрать, вывести на печать все его элементы. Для этого используем оператор цикла со счетчиком.

вывод в одну строку –

.

.

for i:=1 to 5 do

write(a[i],’ ‘);

.

.

вывод в столбец –

.

.

for i:=1 to 5 do

writeln(a[i]);

.

.

Примеры:

1. Вычислить сумму пятнадцати целых чисел. Для обозначения чисел введем имя массива x, элементы которого имеют индекс i. Сумму обозначим именем sum. Тогда sum=x[1] +x[2] + ••• +x[15].

----------------------------------------------

Program P1;

var

x : array [1..15] of integer;

sum, i: integer;

begin

sum:=0;

for i:=1 to 15 do

begin

read(x[i]);

sum:= sum + x[i];

end;

writeln(‘sum=’,sum);

end.

Внутри цикла вводится значение одного элемента массива x[i] и оно прибавляется к значению текущей суммы sum. Цикл повторяется 15 раз. Элементы массива имеют целый тип (integer), а индекс — ограниченный тип 1..15.

Переменная i, с одной стороны, используется как параметр цикла, а с другой — в качестве индекса. В этом случае описать переменную i можно двояко:

а) в разделе переменных var указать переменную i как ограниченного типа, например

var

x : array [1..15] of integer;

i :1..15;

б) учитывая, что элементами ограниченного типа являются целые числа, можно ввести описание integer, например

var

x : array [1..15] of integer;

i : integer;

Так как в языке ПАСКАЛЬ требуется описание всех переменных, то необходимо описать еще и переменную sum. Естественно, что она имеет тип integer, так как все суммарные числа x[i] имеют целый тип

---------------------------------------------------------------------------------------

  1. Рассчитать сумму элементов массива А из N элементов (7<N<10).

----------------------------------------------------------------------------------------

Program massiv;

var i,n:byte;

s:integer;

a:array [ 1..10] of integer;

begin

writeln(‘введите n от 7 до 10’);

read(n);

s:=0;

for i:=1 to n do

begin

read(a[i]);

s:=s+a[i];

end;

writeln(‘s=‘,s);

end.

-------------------------------------------------------------------

  1. Вычислите произведение 10 элементов массива А вещественного типа.

-----------------------------------------------------------------------------------------------

Program massiv1;

Var

p : real;

i : integer;

a:array [1..10] of real;

begin

p := 1;

writeln('Введите массив a');

for i: = 1 to 10 do

begin

read(a[i]);

p:=p*a[i];

end;

writeln('p=',p:10:4);

end.

-------------------------------------------------------------------------------

  1. Даны n натуральных чисел a1, a2, ... an. Определите среднее арифметическое членов последовательности, которые кратны 3 и не кратны 5.

--------------------------------------------------------------------------------

Program sr;

Var a : array [1..50] of integer;

i, n, k : integer;

s, sa : real;

begin

writeln('Bведите n');

readln(n);

writeln('Введите элементы массива a');

for i:=l to n do

read(a[i]);

writeln;

s:=0;

k:=0;

for i:=1 to n do

begin

if (a[i] mod 3=0) and (a[i] mod 5<>0) then

begin

s:=s+a[i];

k:=k+1;

end;

end;

if k=0 then

writeln('Нет решения')

else

begin

sa:=s/k;

writeln('sa=',sa:12:3);

end;

end.

---------------------------------------------------------------------------

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]