Цикл BEGIN-UNTIL: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
(Новая страница: «Файл:indefinite.gif|thumb|right|491px|Цикл BEGIN xxx f UNTIL всегда выполняется хотя бы 1 раз.<br>Картинка из кни…»)
 
Нет описания правки
Строка 1: Строка 1:
[[Файл:indefinite.gif|thumb|right|491px|Цикл BEGIN xxx f UNTIL всегда выполняется хотя бы 1 раз.<br>Картинка из книги Лео Броди «Starting FORTH»]]
[[Файл:indefinite.gif|thumb|right|491px|Цикл BEGIN xxx f UNTIL всегда выполняется хотя бы 1 раз.<br>Картинка из книги Лео Броди «Starting FORTH»]]
Цикл «до» BEGIN…UNTIL имеет следующий вид (xxx и f это последовательность слов Каллисто):
'''Цикл «до»''' BEGIN…UNTIL имеет следующий вид (xxx и f это последовательность слов Каллисто):


  BEGIN
  BEGIN

Версия от 06:00, 12 сентября 2015

Цикл BEGIN xxx f UNTIL всегда выполняется хотя бы 1 раз.
Картинка из книги Лео Броди «Starting FORTH»

Цикл «до» BEGIN…UNTIL имеет следующий вид (xxx и f это последовательность слов Каллисто):

BEGIN
  xxx
f UNTIL

Отличительная особенность цикла «до» — проверка условия в конце тела цикла. Это означает, что цикл BEGIN…UNTIL всегда выполняется как минимум один раз.

Слово BEGIN является заголовком цикла. Последовательность команд между BEGIN и UNTIL является телом цикла и может выполняться многократно. Тело цикла завершается последовательностью команд f — условием цикла, оставляющим на вершине стека флаг.

Слово UNTIL проверяет этот флаг. Если этот флаг ложь, то есть равен нулю (условие не выполняется), цикл повторяется. Как только условие начинает выполняться (флаг истина, отличен от нуля), цикл прерывается.

Если условие выполняется сразу, тело цикла будет выполнено ровно один раз.