Помогите найти ошибку (Информатика, Паскаль). var s,k,a:integer; Begin s:=0; k:=0;...

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

Помогите найти ошибку (Информатика, Паскаль).
var s,k,a:integer;
Begin
s:=0;
k:=0;
Read(a);
while a<>0 do
Begin
if a mod 8=0 then
Begin
s:=s+a;
k:=k+1;
end;
Readln(a);
end;
var y:real;
begin
y:= s/k;
Read(s);
if s>0 then
Writeln(y)
else
Writeln('NO')
end;
end.


Информатика (374 баллов) | 34 просмотров
0

Но она почему-то не работает! В последовательности чисел программа находит среднее арифметическое кратных 8 или сообщает, что таких чисел нет (NO). Последовательность чисел заканчивается на 0.

Дан 1 ответ
0 голосов
Правильный ответ

Var s,k,a:integer;
Begin
s:=0;
k:=0;
Readln(a);
while a<>0 do
Begin
if a mod 8=0 then
Begin
s:=s+a;
k:=k+1;
end;
Readln(a);
end;
if k>0 then Writeln(s/k)
else Writeln('NO')
end.

Пример:
43
61
16
95
24
0
20

(194k баллов)