Упростить программу через Процедуры и функции - Pascal ABC
Формулировка задачи:
Решение задачи: «Упростить программу через Процедуры и функции»
textual
Листинг программы
uses crt; const n=5; Type mas=array[1..n,1..n] of integer; var i,j:integer; o,k:mas; function summa(Var p:mas;l:char):real; Var s2:real; begin writeln('Matrica ',l,': '); s2:=0; for i:=1 to n do begin for j:=1 to n do write(p[i,j]:3); s2:=s2+p[i,i]; writeln; end; summa:=s2; write(s2:1:0,' '); writeln; end; begin clrscr; randomize; for i:=1 to n do for j:=1 to n do begin o[i,j]:=-3+random(10); k[i,j]:=random(10); end; writeln((summa(k,'K')/summa(o,'O')):3:4); end.
Объяснение кода листинга программы
- Установка начального значения переменной
n
равным 5. - Объявление массива
mas
размером 5x5 для хранения целочисленных значений. - Объявление переменных
i
,j
,o
иk
для выполнения операций циклического доступа к элементам массива. - Создание функции
summa
для вычисления суммы элементов матрицыp
и сохранения ее в переменнойs2
. Функция принимает матрицуp
и символl
для обозначения строки матрицы. - В цикле выводится значение каждого элемента матрицы
p
с помощью функцииwrite
. - В каждой итерации внутреннего цикла сумма элементов матрицы
p
добавляется к переменнойs2
. - После завершения внутреннего цикла выводится значение переменной
s2
. - Значение переменной
s2
преобразуется в типreal
и выводится на экран с помощью функцииwrite
. - В основной части программы создаются две матрицы
o
иk
размером 5x5, заполняются случайными числами с помощью функцииrandomize
. - Вычисляется сумма элементов матрицы
o
и матрицыk
с помощью функцииsumma
. - Результат вычисления функции
summa
преобразуется в типreal
и выводится на экран с помощью функцииwrite
. - Результат вычисления функции
summa
делится на сумму элементов матрицыo
и выводится на экран с помощью функцииwrite
.