Прокомментировать код - 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.
Объяснение кода листинга программы
- Объявление программы p6_1 и типа данных mas (массив чисел размером в 50 ячеек)
- Объявление переменных массива a1,a2,a3 и процедур ввода-вывода vvod и zam
- В процедуре vvod происходит ввод данных в массив h с помощью циклов i и j
- В процедуре zam происходит сортировка массива h по элементам j с помощью циклов i и j
- В процедуре vivod происходит вывод данных из массива h с помощью циклов i и j
- Код выводит сообщение
Введите N для массива A1
и ожидает ввода числа N для первого массива - Код выводит сообщение
Введите M для массива A1
и ожидает ввода числа M для первого массива - Код выводит сообщение
Вывод массива A1
и выводит все элементы первого массива - Код выполняет аналогичные действия для второго и третьего массива
- Код сортирует первый массив по элементам j
- Код сортирует второй массив по элементам j
- Код сортирует третий массив по элементам j
- Код выводит сообщение
Вывод массива A2
и выводит все элементы второго массива - Код выводит сообщение
Вывод массива A3
и выводит все элементы третьего массива
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д