Прокомментировать код - Free Pascal (691)

Узнай цену своей работы

Формулировка задачи:

Объясните программ, пожалуйста, то есть что делает каждая строчка программы?
program p6_1;
type mas=array [1..50,1..50] of integer;
var a1,a2,a3:mas;n1,n2,n3,m1,m2,m3:integer;
 
procedure vvod(var h:mas;var n:integer;var m:integer;q:string);
var i,j:integer;
begin
Write('Введите N для массива ',q,' ');
Read(n);
Write('Введите M для массива ',q,' ');
Read(m);
For i:=1 to n do
For j:=1 to m do begin
Write(q,'[',i,',',j,']=');
Read(h[i,j]);
end;end;
 
procedure zam (var h:mas;n:integer;m:integer);
var i,j,k1,k2,min,max:integer;
begin 
for j:=1 to m do begin
k1:=1;k2:=1;
min:=h[1,j];max:=h[1,j];
for i:=1 to n do begin
if h[i,j]<min then begin k1:=i;min:=h[i,j];end;
if h[i,j]>max then begin k2:=i;max:=h[i,j];end;
end;
h[k1,j]:=max;
h[k2,j]:=min;
end;
end;
 
procedure vivod(h:mas;n:integer;m:integer;q:string);
var i,j:integer;
begin
writeln('Вывод массива ',q);
For i:=1 to n do
For j:=1 to m do begin
Writeln(q,'[',i,',',j,']=',h[i,j]);
end;end;
 
begin
vvod(a1,n1,m1,'A1');
vvod(a2,n2,m2,'A2');
vvod(a3,n3,m3,'A3');
zam(a1,n1,m1);
zam(a2,n2,m2);
zam(a3,n2,m3);
vivod(a1,n1,m1,'A1');
vivod(a2,n2,m2,'A2');
vivod(a3,n3,m3,'A3');
end.

Решение задачи: «Прокомментировать код»

textual
Листинг программы
program p6_1; // Программа p6_1
type mas=array [1..50,1..50] of integer; // Массив чисел размером в 50 ячеек
var a1,a2,a3:mas;n1,n2,n3,m1,m2,m3:integer; //Переменные массива.
 
procedure vvod(var h:mas;var n:integer;var m:integer;q:string); // Объявление процедуры ВВод с 4 параметрами
var i,j:integer; //Переменные процедуры
begin // Начать
Write('Введите N для массива ',q,' '); // Написать в командной строке: Введите N для массива
Read(n);// Прочитать ответ в переменную n
Write('Введите M для массива ',q,' '); // Написать в командной строке: Введите M для массива
Read(m);// Прочитать ответ в переменную m
For i:=1 to n do // Цикл i to n
For j:=1 to m do begin // Второй цикл j to m
Write(q,'[',i,',',j,']='); // Написать элементы массива
Read(h[i,j]); // Прочитать ответ
end;end; // Закончить программу.
 
procedure zam (var h:mas;n:integer;m:integer);
var i,j,k1,k2,min,max:integer;
begin 
for j:=1 to m do begin
k1:=1;k2:=1;
min:=h[1,j];max:=h[1,j];
for i:=1 to n do begin
if h[i,j]<min then begin k1:=i;min:=h[i,j];end;
if h[i,j]>max then begin k2:=i;max:=h[i,j];end;
end;
h[k1,j]:=max;
h[k2,j]:=min;
end;
end;
 
procedure vivod(h:mas;n:integer;m:integer;q:string);
var i,j:integer;
begin
writeln('Вывод массива ',q);
For i:=1 to n do
For j:=1 to m do begin
Writeln(q,'[',i,',',j,']=',h[i,j]);
end;end;
 
begin
vvod(a1,n1,m1,'A1');
vvod(a2,n2,m2,'A2');
vvod(a3,n3,m3,'A3');
zam(a1,n1,m1);
zam(a2,n2,m2);
zam(a3,n2,m3);
vivod(a1,n1,m1,'A1');
vivod(a2,n2,m2,'A2');
vivod(a3,n3,m3,'A3');
end.

Объяснение кода листинга программы

  1. Объявление программы p6_1 и типа данных mas (массив чисел размером в 50 ячеек)
  2. Объявление переменных массива a1,a2,a3 и процедур ввода-вывода vvod и zam
  3. В процедуре vvod происходит ввод данных в массив h с помощью циклов i и j
  4. В процедуре zam происходит сортировка массива h по элементам j с помощью циклов i и j
  5. В процедуре vivod происходит вывод данных из массива h с помощью циклов i и j
  6. Код выводит сообщение Введите N для массива A1 и ожидает ввода числа N для первого массива
  7. Код выводит сообщение Введите M для массива A1 и ожидает ввода числа M для первого массива
  8. Код выводит сообщение Вывод массива A1 и выводит все элементы первого массива
  9. Код выполняет аналогичные действия для второго и третьего массива
  10. Код сортирует первый массив по элементам j
  11. Код сортирует второй массив по элементам j
  12. Код сортирует третий массив по элементам j
  13. Код выводит сообщение Вывод массива A2 и выводит все элементы второго массива
  14. Код выводит сообщение Вывод массива A3 и выводит все элементы третьего массива

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.533 из 5