@CHESS48

В Паскале не работает Goto — почему?

Продолжая писать программку:
Program ferma;
var a: integer;
label 1, 2;
begin
a:=187;
1: if a=1 then goto 2;
if not Odd(a) then write (a/2) else write (a*3+1);
goto 1;
2: write (a);
end.
В ответ выдаёт бесконечное количество 562 - с чем и связан вопрос, ибо, поскольку внизу стоит goto 1, он должен повторить условие 6 строки, то есть поделить 562 на 2. Почему так, с чем связано и что делать?
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos
А где вы меняете содержимое переменной a?
Ответ написан
Комментировать
@StockholmSyndrome
оскольку внизу стоит goto 1, он должен повторить условие 6 строки, то есть поделить 562 на 2
во-первых, не 562 на 2, а значение переменной a, то есть 187 на 2
во-вторых, ну поделит и что? переменная своего значения не изменит

что делать?
для начала написать что вы хотите получить в итоге
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы