Найдите ошибку в программе - Pascal (80699)
Формулировка задачи:
Даны двумерные массивы. a[5,5], b[4,4],c[6,6]
Найти произведение и сумму элементов не выше главной диагонали.
Листинг программы
- Program zad1;
- Type mas=array[1..6,1..6] of integer;
- Var a,b,c:mas;
- n,i,j,S,P:integer;
- Procedure full(a:mas; n:integer; S,P:integer);
- Var i,j:integer;
- Begin
- S:=0;
- P:=1;
- For i:=1 to n do
- For j:=1 to n do
- If (i>=j)then begin
- S:=s+a[i,j];
- P:=P*a[i,j];
- end;
- end;
- Procedure r(a:mas; n:integer);
- Var i,j:integer;
- Begin
- Randomize;
- For i:=1 to n do
- For j:=1 to n do
- a[i,j]:=random(50);
- end;
- Begin
- n:=5;
- r(a,5);
- full(a,5,S,P);
- Writeln('S=',S);
- Writeln('P=',P);
- n:=4;
- r(b,4);
- full(b,4,S,P);
- Writeln('S=',S);
- Writeln('P=',P);
- n:=6;
- r(c,6);
- full(c,6,S,P);
- Writeln('S=',S);
- Writeln('P=',P);
- end.
Решение задачи: «Найдите ошибку в программе»
textual
Листинг программы
- Program zad1;
- uses crt;
- Type mas=array[1..6,1..6] of integer;
- Var a,b,c:mas;
- n,i,j,S,P:integer;
- Procedure full(a:mas; n:integer; var S,P:integer);
- Var i,j:integer;
- Begin
- S:=0;
- P:=1;
- For i:=1 to n do
- For j:=1 to n do
- If (i>=j)then begin
- S:=s+a[i,j];
- P:=P*a[i,j];
- end;
- end;
- Procedure r(var a:mas; n:integer);
- Var i,j:integer;
- Begin
- Randomize;
- For i:=1 to n do
- For j:=1 to n do
- begin
- a[i,j]:=random(50);
- end;
- end;
- Begin
- n:=5;
- r(a,5);
- full(a,5,S,P);
- Writeln('S=',S);
- Writeln('P=',P);
- n:=4;
- r(b,4);
- full(b,4,S,P);
- Writeln('S=',S);
- Writeln('P=',P);
- n:=6;
- r(c,6);
- full(c,6,S,P);
- Writeln('S=',S);
- Writeln('P=',P);
- readln;
- end.
Объяснение кода листинга программы
- Объявление и инициализация переменных:
a
,b
,c
: типа массив из 6x6 элементов;n
,i
,j
,S
,P
: целочисленные переменные.
- Процедура заполнения массива случайными значениями:
- Процедура
r
заполняет переданный массив случайными значениями от 0 до 49 включительно.
- Процедура
- Процедура вычисления суммы и произведения элементов массива:
- Процедура
full
принимает массивa
, его размерn
и возвращает сумму (S
) и произведение (P
) элементов, удовлетворяющих условиюi>=j
.
- Процедура
- Основная часть программы:
- Инициализация значения
n
равным 5; - Заполнение массива
a
случайными значениями; - Вычисление суммы и произведения элементов массива
a
с помощью процедурыfull
; - Вывод на экран значений
S
иP
; - Инициализация значения
n
равным 4; - Заполнение массива
b
случайными значениями; - Вычисление суммы и произведения элементов массива
b
с помощью процедурыfull
; - Вывод на экран значений
S
иP
; - Инициализация значения
n
равным 6; - Заполнение массива
c
случайными значениями; - Вычисление суммы и произведения элементов массива
c
с помощью процедурыfull
; - Вывод на экран значений
S
иP
.
- Инициализация значения
- Конец программы:
- Ожидание ввода значения пользователя перед выходом из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д