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

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

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 баллов) | 390 просмотров
0

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

0

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.

0

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

0

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

0

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

0

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

0

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

0

Враньё

0

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

0

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

Дано ответов: 2
0 голосов

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

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

(2.4k баллов)
0

перед 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.


image
(150k баллов)
0

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