Вводится последовательность из N произвольных чисел . Найти среднее значение...

0 голосов
55 просмотров

Вводится последовательность из N произвольных чисел . Найти среднее значение положительных элементов последовательности.
Решить через процедуру и функцию по отдельности ( то есть 2 задачи ) . Паскаль . Ввод чисел через работу с файлами


Информатика (44 баллов) | 55 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
PascalABC.NET 3.3.5, сборка 1669 от 21.05.2018
Внимание! Если программа не работает, обновите версию!

1. Функция

function avg(a:array of integer):=a.Where(t->t>0).Average;

begin
  var a:=ReadAllText('input.txt').ToIntegers;
  Writeln('Среднее значение положительных элементов ',avg(a))
end.

2. Процедура

procedure avg(a:array of integer; var m:real);
begin
  m:=a.Where(t->t>0).Average
end;

begin
  var a:=ReadAllText('input.txt').ToIntegers;
  var m:real;
  avg(a,m);
  Writeln('Среднее значение положительных элементов ',m)
end.

Хорошо видно, что решение с функцией имеет явное преимущество.
(150k баллов)