Работа с процедурами и функциями - Pascal (249566)
Формулировка задачи:
Составить программу с использованием процедуры или функции:
Решение задачи: «Работа с процедурами и функциями»
textual
Листинг программы
const LIM=2; W=8; D=2; n=5; m=5; { n ñòðîê, m ñòîëáöîâ } type mtr=array [1..n,1..m] of real; procedure matrix(var a:mtr); var i,j:byte; begin Randomize; WriteLn('A='); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=LIM*Random; Write(a[i,j]:W:D); end; WriteLn; end; end; procedure mult(a:mtr;k:byte); var i:byte; p:real; h:boolean; begin p:=1; h:=false; for i:=1 to n do if (abs(a[i,k])>=1) and (abs(a[i,k])<=1.5) then begin p:=p*sqr(a[i,k]); h:=true; end; if h then Write(p:W:D) else Write('?':W); end; var a:mtr; j:byte; begin matrix(a); writeLn('B='); for j:=1 to m do mult(a,j); end.
Объяснение кода листинга программы
- Объявлены константы LIM, W, D, n, m, которые описывают размеры и параметры матрицы и операции с ней.
- Создается тип данных mtr, который представляет собой массив размерности n на m, где n и m заданы выше, а также задается шаг вывода элементов матрицы (W) и шаг вывода строк (D).
- Создается процедура matrix, которая заполняет матрицу случайными числами от 0 до LIM и выводит ее на экран.
- Создается процедура mult, которая умножает каждый элемент матрицы a на k-й столбец и проверяет, является ли элемент допустимым для использования в вычислениях (его абсолютное значение находится в диапазоне от 1 до 1.5). Если условие выполняется, то элемент умножается на значение p, которое затем выводится на экран. Если условие не выполняется, то выводится символ вопроса.
- Создается переменная a типа mtr, которая представляет собой матрицу размером n на m.
- Вызывается процедура matrix для заполнения матрицы a случайными числами.
- Вызывается процедура mult для каждого столбца матрицы a, начиная с первого столбца.
- Завершается работа программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д