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"
Answers & Comments
Компилятор напрямую тебе говорит, что ожидалось "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.