Procedure F(n: integer); begin if n < 6 then begin write(n); F(n * 2); F(n + 2) end; if n...

0 голосов
433 просмотров

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) Как пофиксить ?


Информатика (45 баллов)
оставил комментарий БОГ (150k баллов)

Оператор program в Паскале обязательным не является. Более того, он ничего не делает.

оставил комментарий БОГ (150k баллов)

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) endend;beginend.

оставил комментарий БОГ (150k баллов)

И ничего не ругается. только процедура не вызывается, поскольку автор ничего не написал, какие данные и т.п.

оставил комментарий Одаренный (2.4k баллов)

Да я просто так сказал, там была пропущена точка с запятой.

оставил комментарий БОГ (150k баллов)

НЕ БЫЛА ОНА ПРОПУЩЕНА! Не нужна она там.

оставил комментарий БОГ (150k баллов)

Прежде чем советы раздавать, выучите синтаксис языка.

оставил комментарий Одаренный (2.4k баллов)

закопилировал код, с той точкой запятой всё заработало.

оставил комментарий БОГ (150k баллов)

Враньё

оставил комментарий БОГ (150k баллов)

Про то, что не хватает Program, точек с запятыми и т.п.

оставил комментарий БОГ (150k баллов)

Не хватало, как было написано выше, основной программы.

Дано ответов: 2
0 голосов
Одаренный (2.4k баллов)

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

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

оставил комментарий БОГ (150k баллов)

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

0 голосов
БОГ (150k баллов)

// 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.


image
оставил комментарий БОГ (150k баллов)

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

...