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

procedure F(n: integer);
begin
if n < 6 then
begin
write(n);
F(n * 2);
F(n + 2)
end;
if n < 5 then
begin
write(n + 1);
F(n + 2)
end
end;

В паскале пишет (встречен конец файла а ожидалось begin) Как пофиксить ?


Аноним: Оператор program в Паскале обязательным не является. Более того, он ничего не делает.
Аноним: Procedure F(n: integer);
begin
if n < 6 then
begin
write(n);
F(n * 2);
F(n + 2)
end;
if n < 5 then
begin
write(n + 1);
F(n + 2)
end
end;

begin
end.
Аноним: И ничего не ругается. только процедура не вызывается, поскольку автор ничего не написал, какие данные и т.п.
roman1020: Да я просто так сказал, там была пропущена точка с запятой.
Аноним: НЕ БЫЛА ОНА ПРОПУЩЕНА! Не нужна она там.
Аноним: Прежде чем советы раздавать, выучите синтаксис языка.
roman1020: закопилировал код, с той точкой запятой всё заработало.
Аноним: Враньё
Аноним: Про то, что не хватает Program, точек с запятыми и т.п.
Аноним: Не хватало, как было написано выше, основной программы.

Ответы

Автор ответа: roman1020
1
Указали только процедуру. "begin" и "end." обязательно должны быть в коде.

Нужно обязательно ввести функцию F в код. Эникей был прав в том, что там точка с запятой не нужна.

Аноним: перед end точка с запятой факультативна, это Вам не С/С++
Автор ответа: Аноним
0

// PascalABC.NET 3.4.2, сборка 1785 от 06.09.2018

// Внимание! Если программа не работает, обновите версию!

procedure F(n: integer);

begin

 if n < 6 then

 begin

   write(n);

   F(n * 2);

   F(n + 2)

 end;

 if n < 5 then

 begin

   write(n + 1);

   F(n + 2)

 end

end;


begin

 var n := ReadInteger;

 F(n)

end.

Приложения:

Аноним: Ответ дан чисто "из принципа", чтобы некоторые "упертые дети" убедились, что никаких "точек с запятыми" вносить в код не нужно.
Похожие вопросы
Предмет: Биология, автор: sadykovaz829