Цель урока: изучить выполнение арифметических действий над элементами массива: вычисление сумм и произведений элементов массива и вычисление сумм и произведений при работе с двумя массивами.
Сумма элементов массива.
S:=0; {начальное значение суммы}
for var i:=m to n do S:=S+A[i]; {вычисление суммы}
writeln('сумма элементов = ',S); {вывод суммы}
Произведение элементов массива.
P:=1; {начальное значение произведения}
for var i:=m to n do P:= P * A[i]; {вычисление произведения}
writeln('произведение элементов = ',P); {вывод произведения}
Вычисление среднего значения.
S:=0; {начальное значения суммы}
for var i:=m to n do S:=S+A[i]; {вычисление суммы элементов}
Sred:=S/k; {вычисление среднего значения Sred обязательно переменная типа real }
writeln('среднее значение = ', Sred:4:2); {форматированный вывод}
Сумма положительных чисел.
S:=0;
for var i:=m to n do if A[i]>0 then S:=S+A[i]; {вычисление суммы положительных чисел}
writeln('сумма положительных чисел = ',S); {вывод суммы}
Чтобы вычислялась сумма чисел, кратных N.
Различия состоят в условиях вычисления суммы, например,
if A[i] mod 2 = 0 then… {четные числа}
if A[i] mod 2 = 1 then… {нечетные числа}
if i mod 2 = 0 then… {элементы с четными индексами}
if i mod 2 = 1 then… {элементы с нечетными индексами}
if A[i] mod N = 0 then… {числа, кратные N}
Задания по теме урока
Задание 1. Напишите программу, которая находит сумму элементов массива a[1..10] с нечетными индексами. Элементы массива заданы генератором случайных чисел на интервале [45, 97].
Задание 2. Напишите программу, которая находит произведение элементов массива a[1..10] с четными индексами. Элементы массива заданы генератором случайных чисел на интервале [-17, 42].
Задание 3. Напишите программу, которая позволяет вводить с клавиатуры элементы массива a[1..10] и целое число n, а затем выводит на экран в столбец элементы массива, деленные на число n.
Задание 4. Напишите программу, которая позволяет вводить с клавиатуры элементы массива a[1..10] и выводит на экран среднее арифметическое элементов массива.
Задание 5. Массив содержит информацию об отметках по информатике учащихся класса. (Количество человек – 10 + № компьютера). Отметки – случайные числа из диапазона от 1 до 10. Составьте программу, которая вычисляет средний балл по предмету.
Дополнительные задания
Домашнее задание
§ 4.1-4.2 учебного пособия, ответить на вопросы после параграфа.
Форма отправки файлов
Форма видна только зарегистрированным пользователям.
Примеры решения задач
Пример 1. Найти произведение элементов одномерного массива, состоящего из n элементов. Элементы вводятся с клавиатуры.
Program proisveden;
Var a: array[1..100] of integer;
i, n, p: integer;
Begin
Write ('Сколько элементов? '); Readln (n);
p:=1;
For i:=1 to n do
begin
write ('введите число: ');
readln (a[i]);
p:=p*a[i];
end;
writeln('произведение элементов равно: ',p);
End.
Пример 2. Найти сумму элементов одномерного массива. Размер произвольный. Элементы вводятся с клавиатуры.
Program summa;
Var a: array[1..100] of real;
i, n: integer;
s: real;
Begin
Write ('n='); Readln (n);
s:=0;
For i:=1 to n do
begin
write ('введите число');
readln (a[i]);
s:=s+a[i];
end;
writeln('сумма элементов равна ',s);
End.
Пример 3. Найти сумму элементов массива с четными номерами, содержащего N элементов. Элементы вводятся с клавиатуры.
Program sumshet;
Var a: array[1..100] of real;
i, n: integer;
s,sred: real;
Begin
Write ('n=');
Readln (n);
s:=0;
For i:=1 to n do
begin
write ('введите число '); readln (a[i]);
if i mod 2 = 0 then s:=s+a[i];
end;
writeln('сумма элементов с четными номерами: ',s);
End.
Пример 4. Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интервале [-19, 26] (размер произвольный). Найти произведение элементов с нечетными индексами.
Program proisvednechet;
Var a: array[1..100] of integer;
i, n, p: integer;
Begin
Write ('Сколько элементов? ');
Readln (n);
P:=1;
For i:=1 to n do
begin
a[i]:= Random(46)-19;
writeln (a[i],' ');
if i mod 2 <> 0 then P:=P*a[i];
end;
Writeln('Произведение элементов с нечетными номерами:', P);
End.