Найти произведение минимального элемента матрицы вещественных чисел на сумму ее положительных элементов - Pascal ABC
Формулировка задачи:
Задача:
Найти произведение минимального элемента матрицы вещественных чисел на сумму ее положительных элементов.
Алгоритм решения задачи:
Присвоить переменной min максимально возможное значение или больше максимально возможного. В коде ниже присвоено число 5.0, т.к. случайные числа для заполнения матрицы будут в диапазоне [-5.0; 5.0].
Почему случайные числа будут в диапазоне -5.0; 5.0?
КОД:
Решение задачи: «Найти произведение минимального элемента матрицы вещественных чисел на сумму ее положительных элементов»
textual
Листинг программы
sum := 0; for i:=1 to N do begin for j:=1 to M do begin a[i,j] :=-max/2+random*max;//-10/2=-5, random*10=от 0 до 10, итого //от -5 до +5 write(a[i,j]:6:2); if(i=1)and(j=1) then min:=a[i,j] else if a[i,j] < min then min := a[i,j]; if a[i,j] > 0 then sum := sum + a[i,j]; end; writeln; end;
Объяснение кода листинга программы
- Переменная
sumинициализируется значением 0. - Запускается цикл
for, который выполняетсяNраз (гдеN- это некоторое число). - Внутри цикла
forзапускается вложенный циклfor, который выполняетсяMраз (гдеM- это другое число). - Внутри вложенного цикла
forприсваивается значениеa[i,j]переменнойa[i,j]. Это значение генерируется случайным образом от -10/2 до +10/2 (т.е. от -5 до +5). - Выводится значение
a[i,j]с помощью функцииwrite. - Если
iравно 1 иjравно 1, то значениеminприсваивается значениюa[i,j]. В противном случае, если значениеa[i,j]меньше текущего значенияmin, тоminобновляется. - Если
a[i,j]больше 0, то к суммеsumприбавляется значениеa[i,j]. - После окончания вложенного цикла
for, выводится значениеsum. - После окончания внешнего цикла
for, выводится символ новой строки (writeln). - Код завершается.