Тагрим, пару минут сидел соображал, а на Паскале ли ты это написал?
На том месте, где в приведённом тобой фрагменте кода стоит 1, должно, как правильно заметил
KoLoB, располагаться
условие. Условие представляет собой выражение
логического типа, 1 --- это выражение
целочисленного типа. 1=0 --- выражение логического типа, 1<>1 --- выражение логического типа, 1>Ord('c') --- выражение логического типа, False --- выражение логического типа, Boolean(1) --- тоже выражение всё того же логического типа, 1 --- выражение целочисленного типа. Поэтому приведённый тобой код даже не удастся скомпилировать --- по причине наличия синтаксических ошибок.
Кстати, Boolean(1)=True, так что если уж нужно получить бесконечный цикл, то код должен быть таким:
Код:
[B]while[/B] True [B]do[/B] <тело цикла>;
или
Код:
[B]repeat[/B] <тело цикла> [B]until[/B] False;
, в зависимости от того, какой из циклов нужно использовать.
При этом естественно нужно следить, чтобы в теле циклов присутствовало некоторое условие, при выполнении которого происходил бы принудительный выход из цикла с помощью использования функции Break.
Например, так:
Код:
[B]while [/B]True [B]do[/B]
[B]begin[/B]
...
k:=Func(x);
[B]if[/B] k>0 [B]then[/B] Break;
...
[B]end[/B];
В противном случае, можно "зациклить" программу.
Условие не
происходит или
не происходит , а
выполняется (то есть, становится истинным, принимает значение True), либо
не выполняется (становится ложным, принимает значение False).
Выполнение цикла в цикле с пред-условием (цикле while) происходит
ПОКА условие в заголовке цикла истинно, поэтому цикл while называют ещё цикл-ПОКА. Как только условие становится ложным, выполнение цикла прерывается и управление передается следующему за циклом оператору программы.
Цикл с пост-условием (цикл repeat...until) работает наоборот --- он выполняется
ДО тех пор, как условие становится истинным (поэтому его ещё иногда называют циклом-ПОКА), то есть работает пока условие ложно.