Где ошибка pascal program one; var a,n,sum,b: integer; sred: real; begin readln(n); writeln('цифра') while (n< > 0) do begin sred: =0; sum: =0; b: =0; if(n mod 8 =0 )and (n=< 300) then begin sum: =n+sum; else writeln('no'); end; readln(n); if b> 100 then writeln('no') end; sred: =sum/b; writeln('среднее арихметическое равно ',: ,'='sred); end.
1. пропала ; после writeln('Цифра')
2. меньше или равно пишется <=, так что условие n=<300 надо переписать n<=300
3. после sum:=n+sum; пропала закрывающая скобка end
4. после else надо бы еще begin
5. предпоследняя строчка тоже мимо.
Вот вся исправленная прога:
program one;
var a,n,sum,b:integer;
sred:real;
begin
readln(n);
writeln('Цифра');
while (n<>0) do
begin
sred:=0;
sum:=0;
b:=0;
if(n mod 8 =0 )and (n<=300) then
begin
sum:=n+sum;
end
else
begin
writeln('NO');
end;
readln(n);
if b>100 then
writeln('NO')
end;
sred:=sum/b;
writeln('Среднее арихметическое равно ',':=',sred);
end.