Ошибка в коде Паскаля. Как исправить?

01.01.2001

Ошибка в коде Паскаля. Как исправить?
После "end" выдаёт мне "ожидается оператор". как исправить?
Вот код.
var i,i2,i3,a,b :integer;
Begin
read(a,b);
i:=i+1;
for i:=a to b do begin;
i2:=i*i;
i3:=i*i*i;
writeln(i,i2,i3);
end.

  • var i,i2,i3,a,b :integer;
    Begin
    read(a,b);
    i:=i+1;
    for i:=a to b do
    begin
    i2:=i*i;
    i3:=i*i*i;
    writeln(i,i2,i3);
    end;
    end.
  • Посчитай begin-ы и end-ы. Ничего не забыла?
  • Правильно, в коде два begin и только один end. Не хватает ещё одного end после оператора writeln.

    И пара замечаний по коду.

    1) i:=i+1; — лишнее: во-первых, i сперва надо присвоить значение, во-вторых, сразу после этой инструкции идёт цикл с i в качестве счётчика.

    2) Запятая после begin не нужна совершенно.

    3) Зачем тебе i2 и i3? Проще так:

    writeln(i,i*i,i*i*i);

Вас заинтересует