Ввод нуля означает завершение ввода(он нигде не учитывается)
program test;
var sum, x, counter, sumOfNegative, sumOfPositive: integer; average: real;
begin
sum:=0;
average:=0;
counter:=0;
sumOfPositive:=0;
sumOfNegative:=0;
read(x);
while x <> 0 do
begin
sum:=sum+x;
average:=average+x;
counter:=counter+1;
if x > 0 then
sumOfPositive:=sumOfPositive+x
else
sumOfNegative:=sumOfNegative+x;
read(x);
end;
average:=average/counter;
writeln('Sum = ', sum);
writeln('Arithmetic average = ', average);
writeln('The sum of positive numbers = ', sumOfPositive);
writeln('The sum of negative numbers = ', sumOfNegative);
readln;
end.
<h3>PascalABC.NET 3.4.2, сборка 1814 от 02.10.2018</h3>
function ReadWhileSum(cond: integer->boolean): sequence of integer;
begin
var s := 0;
while True do
begin
var x := ReadInteger();
s += x;
if not cond(s) then break;
yield x;
end;
end;
begin
Println('Сред. арифм. =',ReadWhileSum(sum -> sum < 150)
.Where(t->t.IsEven).Average);
end.
Пиши дано и что дано в задачах решение дили
Ответ: 121121
50-2=48
48/3=16
16-2=14
14-2=12
12/3=4
4-2=2