Схема программы к задаче 8.1 Схема программы к задаче 8.2
Задача 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.
|