Урок 4. Выполнение арифметический действий над элементами массива

Цель урока: изучить выполнение арифметических действий над элементами массива: вычисление сумм и произведений элементов массива и вычисление сумм и произведений при работе с двумя массивами.


Сумма элементов массива.

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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *