Код через процедуру и функцию - Pascal ABC

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

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

Как написать данный код через процедуру и функцию?
Листинг программы
  1. var a:array [1..100] of integer;
  2. i,sum,k,n: integer;
  3. begin
  4. write('N=');
  5. readln(n);
  6. sum:=0; K:=0;
  7. for i:=1 to n do
  8. begin
  9. write('A[',i,']=');
  10. readln(a[i]);
  11. if i mod 2=1 then
  12. begin
  13. inc(sum,a[i]);
  14. inc(k);
  15. end;
  16. end;
  17. writeln('Ср.ар. нечетных ',sum/k:7:2);
  18. end.

Решение задачи: «Код через процедуру и функцию»

textual
Листинг программы
  1. type mas=array [1..100] of integer;
  2. procedure massiv(var a:mas;var n:integer);
  3. var i:integer;
  4. begin
  5. write('N=');
  6. readln(n);
  7. for i:=1 to n do
  8.  begin
  9.   write('A[',i,']=');
  10.   readln(a[i]);
  11.  end;
  12. end;
  13. function sred(a:mas;n:integer):real;
  14. var i,k,sum:integer;
  15. begin
  16. sum:=0;
  17. k:=0;
  18. for i:=1 to n do
  19. if i mod 2=1 then
  20.  begin
  21.   inc(sum,a[i]);
  22.   inc(k);
  23.  end;
  24. if k=0 then sred:=0
  25. else sred:=sum/k
  26. end;
  27. var a:mas;
  28.     n:integer;
  29. begin
  30. massiv(a,n);
  31. writeln('Ср.ар. с нечетными номерами ',sred(a,n):0:2);
  32. end.

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

  1. Создается тип данных mas, который представляет собой массив целых чисел размером от 1 до 100.
  2. Создается процедура massiv, которая принимает два аргумента: a (переменная типа mas) и n (целое число). Внутри процедуры выводится сообщение N= и считывается значение переменной n. Затем происходит цикл for, который выполняется n раз. В каждой итерации цикла выводится сообщение A[, текущее значение переменной i (которое начинается с 1 и увеличивается на 1 с каждой итерацией), ]=. Затем считывается значение переменной a[i] и сохраняется в переменной a.
  3. Создается функция sred, которая принимает два аргумента: a (переменная типа mas) и n (целое число). Внутри функции инициализируются две переменные: sum (сумма) и k (количество нечетных элементов). Циклом for считывается значение каждого элемента a[i] и, если i нечетное, увеличивается значение переменной sum на соответствующий элемент и увеличивается значение переменной k на 1. Если значение переменной k равно 0, то значение переменной sum делится на k и возвращается в качестве результата.
  4. В основной части кода создается переменная a типа mas и считывается значение переменной n. Затем вызывается процедура massiv, передавая в нее переменную a и значение n. После этого выводится среднее арифметическое всех нечетных элементов массива a с помощью функции sred, а затем выводится результат (0.0) с точностью до двух знаков после запятой.

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


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

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

12   голосов , оценка 4 из 5

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

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

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