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

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

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

Объясните программ, пожалуйста, то есть что делает каждая строчка программы?
Листинг программы
  1. program p6_1;
  2. type mas=array [1..50,1..50] of integer;
  3. var a1,a2,a3:mas;n1,n2,n3,m1,m2,m3:integer;
  4. procedure vvod(var h:mas;var n:integer;var m:integer;q:string);
  5. var i,j:integer;
  6. begin
  7. Write('Введите N для массива ',q,' ');
  8. Read(n);
  9. Write('Введите M для массива ',q,' ');
  10. Read(m);
  11. For i:=1 to n do
  12. For j:=1 to m do begin
  13. Write(q,'[',i,',',j,']=');
  14. Read(h[i,j]);
  15. end;end;
  16. procedure zam (var h:mas;n:integer;m:integer);
  17. var i,j,k1,k2,min,max:integer;
  18. begin
  19. for j:=1 to m do begin
  20. k1:=1;k2:=1;
  21. min:=h[1,j];max:=h[1,j];
  22. for i:=1 to n do begin
  23. if h[i,j]<min then begin k1:=i;min:=h[i,j];end;
  24. if h[i,j]>max then begin k2:=i;max:=h[i,j];end;
  25. end;
  26. h[k1,j]:=max;
  27. h[k2,j]:=min;
  28. end;
  29. end;
  30. procedure vivod(h:mas;n:integer;m:integer;q:string);
  31. var i,j:integer;
  32. begin
  33. writeln('Вывод массива ',q);
  34. For i:=1 to n do
  35. For j:=1 to m do begin
  36. Writeln(q,'[',i,',',j,']=',h[i,j]);
  37. end;end;
  38. begin
  39. vvod(a1,n1,m1,'A1');
  40. vvod(a2,n2,m2,'A2');
  41. vvod(a3,n3,m3,'A3');
  42. zam(a1,n1,m1);
  43. zam(a2,n2,m2);
  44. zam(a3,n2,m3);
  45. vivod(a1,n1,m1,'A1');
  46. vivod(a2,n2,m2,'A2');
  47. vivod(a3,n3,m3,'A3');
  48. end.

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

textual
Листинг программы
  1. program p6_1; // Программа p6_1
  2. type mas=array [1..50,1..50] of integer; // Массив чисел размером в 50 ячеек
  3. var a1,a2,a3:mas;n1,n2,n3,m1,m2,m3:integer; //Переменные массива.
  4.  
  5. procedure vvod(var h:mas;var n:integer;var m:integer;q:string); // Объявление процедуры ВВод с 4 параметрами
  6. var i,j:integer; //Переменные процедуры
  7. begin // Начать
  8. Write('Введите N для массива ',q,' '); // Написать в командной строке: Введите N для массива
  9. Read(n);// Прочитать ответ в переменную n
  10. Write('Введите M для массива ',q,' '); // Написать в командной строке: Введите M для массива
  11. Read(m);// Прочитать ответ в переменную m
  12. For i:=1 to n do // Цикл i to n
  13. For j:=1 to m do begin // Второй цикл j to m
  14. Write(q,'[',i,',',j,']='); // Написать элементы массива
  15. Read(h[i,j]); // Прочитать ответ
  16. end;end; // Закончить программу.
  17.  
  18. procedure zam (var h:mas;n:integer;m:integer);
  19. var i,j,k1,k2,min,max:integer;
  20. begin
  21. for j:=1 to m do begin
  22. k1:=1;k2:=1;
  23. min:=h[1,j];max:=h[1,j];
  24. for i:=1 to n do begin
  25. if h[i,j]<min then begin k1:=i;min:=h[i,j];end;
  26. if h[i,j]>max then begin k2:=i;max:=h[i,j];end;
  27. end;
  28. h[k1,j]:=max;
  29. h[k2,j]:=min;
  30. end;
  31. end;
  32.  
  33. procedure vivod(h:mas;n:integer;m:integer;q:string);
  34. var i,j:integer;
  35. begin
  36. writeln('Вывод массива ',q);
  37. For i:=1 to n do
  38. For j:=1 to m do begin
  39. Writeln(q,'[',i,',',j,']=',h[i,j]);
  40. end;end;
  41.  
  42. begin
  43. vvod(a1,n1,m1,'A1');
  44. vvod(a2,n2,m2,'A2');
  45. vvod(a3,n3,m3,'A3');
  46. zam(a1,n1,m1);
  47. zam(a2,n2,m2);
  48. zam(a3,n2,m3);
  49. vivod(a1,n1,m1,'A1');
  50. vivod(a2,n2,m2,'A2');
  51. vivod(a3,n3,m3,'A3');
  52. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут