Редактирование: WHILE
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
'''WHILE''' (пока) — стандартное слово [[Каллисто]]. Проверка | '''WHILE''' (пока) — стандартное слово [[Каллисто]]. Проверка условия в цикле «пока» с предусловием. | ||
WHILE ( ф −− ) Если ф ложен (ф=0), выйти из цикла BEGIN WHILE REPEAT. | WHILE ( ф −− ) Если ф ложен (ф=0), выйти из цикла BEGIN WHILE REPEAT. | ||
Ветвление "[[WHILE]]" в [[Цикл BEGIN-WHILE-REPEAT|цикле "BEGIN WHILE REPEAT"]] | Ветвление "[[WHILE]]" в [[Цикл BEGIN-WHILE-REPEAT|цикле "BEGIN WHILE REPEAT"]]. | ||
== Ввод слова WHILE == | == Ввод слова WHILE == | ||
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша В↑|{{Серая клавиша|В↑}}]] [[Клавиша ПП|{{Чёрная клавиша|ПП}}]] [[Клавиша 7|{{Серая клавиша|7}}]] [[Клавиша -|{{Серая клавиша|−}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] | В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша В↑|{{Серая клавиша|В↑}}]] [[Клавиша ПП|{{Чёрная клавиша|ПП}}]] [[Клавиша 7|{{Серая клавиша|7}}]] [[Клавиша -|{{Серая клавиша|−}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] | ||
== Детали реализации == | |||
По количеству ключевых слов цикл с предусловием while() в языке Си самый «простой», а в [[Каллисто]] тот же цикл WHILE — самый «сложный». Целых три ключевых слова: [[BEGIN]] WHILE [[REPEAT]]. | |||
На самом деле число ключевых слов одинаково, т.к. в Си этот цикл чаще всего использует операторные скобки { }. И это если не считать (), в которых содержится проверка условия цикла. | |||
На этапе компиляции WHILE может вызывать [[Авост приложения|авост]]. | |||
== WHILE в стандарте ANS Forth == | == WHILE в стандарте ANS Forth == | ||
Строка 28: | Строка 34: | ||
== История == | == История == | ||
В некоторых | В некоторых старых Фортах вместо слова WHILE использовалось слово [[IF]], т.к. их реализации похожи. | ||
=== WHILE в предыдущем стандарте Forth-83 (англ.) === | === WHILE в предыдущем стандарте Forth-83 (англ.) === | ||
Строка 68: | Строка 74: | ||
== Реализация == | == Реализация == | ||
Юрий Семёнов приводит следующее определение слова WHILE (стр. 65): | Юрий Семёнов приводит следующее определение слова WHILE (стр. 65): | ||
: WHILE [COMPILE] IF ; IMMEDIATE | : WHILE [COMPILE] IF ; IMMEDIATE | ||
Строка 150: | Строка 117: | ||
[[Категория:Структуры управления Каллисто]] | [[Категория:Структуры управления Каллисто]] | ||
[[Категория:Слова, способные вызывать авост приложения]] | [[Категория:Слова, способные вызывать авост приложения]] | ||