Предмет: Информатика, автор: antonsamardak

program Hello;
var i,s,c2,k:integer;sa:real;
begin
s:=0;k:=0;sa:=0;
for i:=1 to 50
begin;
c2:=i mod 10;
if c2 mod 2<> 0 then
begin
s:=s+i; k:=k+1;
end;
end;
if k<>0 then sa:=s/k;
writeln(s,' ',k,' ',sa:1:2);
end.

Ошибка "main.pas(15,2) Fatal: Syntax error, "DO" expected but "BEGIN" found"(код на паскале)
Надо написать програму которая будет считать среднее арифметическое всех непарных чисел от 1 до 50 с помощью цикла "for"

Ответы

Автор ответа: restIess
2

Компилятор напрямую тебе говорит, что ожидалось "DO", а встречено "BEGIN", цикл фор в паскале пишется так: for i := нач. значение to конечн. значение then.

Исправив эту ошибку код заработает, однако, я вижу, что ты здесь что-то выдумываешь и зачем-то вытаскиваешь последнюю цифру числа, заводишь переменную под нее. Этого делать не нужно, мы сразу можнм проверить i-тое число.

Исправленный код:

Program Hello;

var i,s,k:integer;

sa:real;

begin

s:=0;

k:=0;

sa:=0;

for i:=1 to 50 do

   begin;

   if i mod 2 <> 0 then

       begin

       s:=s+i;  

       k:=k+1;

       end;

   end;

if k<>0 then  

   sa:=s/k;

writeln(s,' ',k,' ',sa:1:2);

end.

Похожие вопросы
Предмет: Английский язык, автор: ziaevasveta