Задача 8.3.
Задать одномерный числовой массив А [15] из целых чисел. Определить произведение четных по значениям элементов массива, стоящих после минимального элемента.
Математическая формулировка задачи:
Чтобы определить такое произведение, требуется сначала найти минимальное значение в массиве и запомнить в какой-либо переменной порядковый номер минимума. После этого надо подсчитать произведение четных по значениям элементов, начиная просмотр массива не с первого элемента, как обычно, а с этого номера.
Поиск минимума в массиве происходит по стандартному алгоритму. Сначала за минимум принимается значение первого по порядку элемента массива. Номер минимума соответственно принимается за 1. Массив просматривается поэлементно в цикле от первого элемента до последнего. Если найдется элемент, значение которого меньше, чем принятый минимум, то минимум равен ему. Одновременно меняется и номер минимума. После выхода из цикла в переменной минимум окажется наименьшее значение массива.
|
|
Текст программы к задаче 8.3:
Program Ex_8_3;
Uses Crt;
Type Mas = array [1..15] of integer;
{ объявляем тип массив из 10 целых элементов }
Var A: Mas;
{ переменные A, В типа массив }
i: integer; { индексы массива A}
Min: integer; { минимум в массиве }
k: integer; { номер минимума }
P: real;
{ произведение четных по значениям элементов}
Begin
ClrScr;
Randomize;
For i:=1 to 15 do begin
A[i]:=random(200)-100;
Write(A[i]:5);
{ вывод элементов массива в одну строку }
End;
Writeln; { перевод строки }
Min:=A[1];
k:=1;
For i:=1 to 15 do begin
If A[i]<Min then begin
k:=i; { увеличение индекса массива В }
Min:=A[i]; { записываем положительный элемент массива А в массив В }
End;
End;
Writeln; { перевод строки }
Writeln(‘ Номер минимума ’, k);
Writeln(‘ Значение минимума ’, Min);
P:=1; { начальное значение произведения }
For i:=k to 15 do begin
If A[i] mod 2=0 then P:=P*A[i];
End;
Writeln(‘ P= ’, P);
Readln;
End.