Предмет: Информатика,
автор: 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.
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.
И ничего не ругается. только процедура не вызывается, поскольку автор ничего не написал, какие данные и т.п.
Да я просто так сказал, там была пропущена точка с запятой.
НЕ БЫЛА ОНА ПРОПУЩЕНА! Не нужна она там.
Прежде чем советы раздавать, выучите синтаксис языка.
закопилировал код, с той точкой запятой всё заработало.
Враньё
Про то, что не хватает Program, точек с запятыми и т.п.
Не хватало, как было написано выше, основной программы.
Ответы
Автор ответа:
1
Указали только процедуру. "begin" и "end." обязательно должны быть в коде.
Нужно обязательно ввести функцию F в код. Эникей был прав в том, что там точка с запятой не нужна.
Нужно обязательно ввести функцию 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.
Приложения:
Ответ дан чисто "из принципа", чтобы некоторые "упертые дети" убедились, что никаких "точек с запятыми" вносить в код не нужно.
Похожие вопросы
Предмет: Математика,
автор: Bobrdima
Предмет: Геометрия,
автор: Аноним
Предмет: Математика,
автор: lizas4880
Предмет: Алгебра,
автор: Вован551
Предмет: Математика,
автор: Akos102