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

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

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

Как написать данный код через процедуру и функцию?

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

textual
Листинг программы
type mas=array [1..100] of integer;
procedure massiv(var a:mas;var n:integer);
var i:integer;
begin
write('N=');
readln(n);
for i:=1 to n do
 begin
  write('A[',i,']=');
  readln(a[i]);
 end;
end;
function sred(a:mas;n:integer):real;
var i,k,sum:integer;
begin
sum:=0;
k:=0;
for i:=1 to n do
if i mod 2=1 then
 begin
  inc(sum,a[i]);
  inc(k);
 end;
if k=0 then sred:=0
else sred:=sum/k
end;
var a:mas;
    n:integer;
begin
massiv(a,n);
writeln('Ср.ар. с нечетными номерами ',sred(a,n):0:2);
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
Похожие ответы