Найти произведение минимального элемента матрицы вещественных чисел на сумму ее положительных элементов - Pascal ABC
Формулировка задачи:
Задача:
Найти произведение минимального элемента матрицы вещественных чисел на сумму ее положительных элементов.
Алгоритм решения задачи:
Присвоить переменной min максимально возможное значение или больше максимально возможного. В коде ниже присвоено число 5.0, т.к. случайные числа для заполнения матрицы будут в диапазоне [-5.0; 5.0].
Почему случайные числа будут в диапазоне -5.0; 5.0?
КОД:
Листинг программы
- const N = 5; M = 10; MAX = 10.0;
- var
- a: array[1..N,1..M] of real;
- min, sum: real;
- i, j: byte;
- begin
- randomize;
- min := MAX/2;
- sum := 0;
- for i:=1 to N do begin
- for j:=1 to M do begin
- a[i,j] := (random() * MAX) - MAX/2;
- write(a[i,j]:6:2);
- if a[i,j] > 0 then
- sum := sum + a[i,j];
- if a[i,j] < min then
- min := a[i,j];
- end;
- writeln;
- end;
- writeln(min:10:2,' - минимальный элемент');
- writeln(sum:10:2,' - сумма положительных элементов');
- writeln(min*sum:10:2,' - произведение минимального на сумму');
- end.
Решение задачи: «Найти произведение минимального элемента матрицы вещественных чисел на сумму ее положительных элементов»
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
). - Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д