1. Современное решение (быстро, просто и легко) // PascalABC.NET 3.2, сборка 1439 от 09.05.2017 // Внимание! Если программа не работает, обновите версию!
begin Writeln('Ср.арифм: ',ReadSeqRealWhile(k->k>=0).Average:0:4) end.
Пример 23 11.7 0 12.9 16.7 13 -12 Ср.арифм: 12.8833
2. Школьный вариант в стиле "1983г." (Turbo Pascal 7.0)
uses Crt; var n:integer; x,a:real; begin a:=0; n:=0; repeat Read(x); if x>=0 then begin n:=n+1; a:=a+x end until x<0; a:=a/n; Writeln('Ср.арифм: ',a:0:4); ReadKey end.
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!
begin
Writeln('Ср.арифм: ',ReadSeqRealWhile(k->k>=0).Average:0:4)
end.
Пример
23 11.7 0 12.9 16.7 13 -12
Ср.арифм: 12.8833
2. Школьный вариант в стиле "1983г." (Turbo Pascal 7.0)
uses Crt;
var
n:integer;
x,a:real;
begin
a:=0;
n:=0;
repeat
Read(x);
if x>=0 then begin
n:=n+1;
a:=a+x
end
until x<0;
a:=a/n;
Writeln('Ср.арифм: ',a:0:4);
ReadKey
end.
var a,b:integer;
c,d:real;
begin
a:=random(50); // Если нужно вводить своё число, то тогда "a:= *заданное число*" или, иначе, readln(a) "
writeln('Число "a" приняло значение ', a); // Если будет один из двух показанных выше, то эта строка не является обязательной.
b:=random(100); // Если нужно вводить своё число, то тогда "b:= *заданное число*" или, иначе, readln(b) "
writeln('Число "b" приняло значение ', b); // Если будет один из двух выше, то эта строка не является обязательной.
c:=((a+b)/2);
writeln('Среднее арифметическое данных двух чисел ', c);
d:=(sqrt(abs(a*b)));
writeln('Среднее геометрическое данных чисел ', d);
end.