Найдите ошибку в программе - Pascal (80699)

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

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

Даны двумерные массивы. a[5,5], b[4,4],c[6,6] Найти произведение и сумму элементов не выше главной диагонали.
Листинг программы
  1. Program zad1;
  2. Type mas=array[1..6,1..6] of integer;
  3. Var a,b,c:mas;
  4. n,i,j,S,P:integer;
  5. Procedure full(a:mas; n:integer; S,P:integer);
  6. Var i,j:integer;
  7. Begin
  8. S:=0;
  9. P:=1;
  10. For i:=1 to n do
  11. For j:=1 to n do
  12. If (i>=j)then begin
  13. S:=s+a[i,j];
  14. P:=P*a[i,j];
  15. end;
  16. end;
  17. Procedure r(a:mas; n:integer);
  18. Var i,j:integer;
  19. Begin
  20. Randomize;
  21. For i:=1 to n do
  22. For j:=1 to n do
  23. a[i,j]:=random(50);
  24. end;
  25. Begin
  26. n:=5;
  27. r(a,5);
  28. full(a,5,S,P);
  29. Writeln('S=',S);
  30. Writeln('P=',P);
  31. n:=4;
  32. r(b,4);
  33. full(b,4,S,P);
  34. Writeln('S=',S);
  35. Writeln('P=',P);
  36. n:=6;
  37. r(c,6);
  38. full(c,6,S,P);
  39. Writeln('S=',S);
  40. Writeln('P=',P);
  41. end.

Решение задачи: «Найдите ошибку в программе»

textual
Листинг программы
  1. Program zad1;
  2. uses crt;
  3. Type mas=array[1..6,1..6] of integer;
  4. Var a,b,c:mas;
  5. n,i,j,S,P:integer;
  6.  
  7. Procedure full(a:mas; n:integer; var S,P:integer);
  8. Var i,j:integer;
  9. Begin
  10. S:=0;
  11. P:=1;
  12. For i:=1 to n do
  13. For j:=1 to n do
  14. If (i>=j)then begin
  15. S:=s+a[i,j];
  16. P:=P*a[i,j];
  17. end;
  18. end;
  19. Procedure r(var a:mas; n:integer);
  20. Var i,j:integer;
  21. Begin
  22. Randomize;
  23. For i:=1 to n do
  24. For j:=1 to n do
  25. begin
  26. a[i,j]:=random(50);
  27. end;
  28. end;
  29. Begin
  30. n:=5;
  31. r(a,5);
  32. full(a,5,S,P);
  33. Writeln('S=',S);
  34. Writeln('P=',P);
  35. n:=4;
  36. r(b,4);
  37. full(b,4,S,P);
  38. Writeln('S=',S);
  39. Writeln('P=',P);
  40. n:=6;
  41. r(c,6);
  42. full(c,6,S,P);
  43. Writeln('S=',S);
  44. Writeln('P=',P);
  45. readln;
  46. end.

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

  1. Объявление и инициализация переменных:
    • a, b, c: типа массив из 6x6 элементов;
    • n, i, j, S, P: целочисленные переменные.
  2. Процедура заполнения массива случайными значениями:
    • Процедура r заполняет переданный массив случайными значениями от 0 до 49 включительно.
  3. Процедура вычисления суммы и произведения элементов массива:
    • Процедура full принимает массив a, его размер n и возвращает сумму (S) и произведение (P) элементов, удовлетворяющих условию i>=j.
  4. Основная часть программы:
    • Инициализация значения n равным 5;
    • Заполнение массива a случайными значениями;
    • Вычисление суммы и произведения элементов массива a с помощью процедуры full;
    • Вывод на экран значений S и P;
    • Инициализация значения n равным 4;
    • Заполнение массива b случайными значениями;
    • Вычисление суммы и произведения элементов массива b с помощью процедуры full;
    • Вывод на экран значений S и P;
    • Инициализация значения n равным 6;
    • Заполнение массива c случайными значениями;
    • Вычисление суммы и произведения элементов массива c с помощью процедуры full;
    • Вывод на экран значений S и P.
  5. Конец программы:
    • Ожидание ввода значения пользователя перед выходом из программы.

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


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

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

11   голосов , оценка 3.727 из 5

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

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

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