Прокомментировать код - 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
и выводит все элементы третьего массива
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д