Развитие оператора цикла while до варианта с несколькими ветвями дает цикл Дейкстры, введенный в язык Кантор под влиянием Оберона-07.
На момент написания статьи принято, что операторы цикла имеются только в декларативном синтаксисе.
Цикл «пока»
В варианте с одной ветвью цикл Дейкстры имеет форму обычного цикла «пока»:while условие do ветвь; end;Единственная ветвь цикла выполняется, пока условие истинно. Цикл — блочный оператор, поэтому операторы ветви разделяются точкой с запятой, и завершающий end обязателен.
Цикл Дейкстры
В полной форме оператор цикла «пока» становится циклом Дейкстры. Его особенность в языке Кантор — наличие эпилога:while условие do ветвь; elsif условие do ветвь; elsif условие do ветвь; else эпилог; end;Логика цикла:
- На каждой итерации:
- Последовательно вычисляются условия while и elsif.
- При истинности условия соответствующая ветвь выполняется — одна ветвь на каждой итерации.
- Если выполнена хоть одна итерация, перед выходом из цикла выполняется эпилог.
После исключения циклов и elsif из синтаксиса ключевые слова while и elsif больше не подсвечиваются.
Комментариев нет :
Отправить комментарий
Выбрав в выпадающем списке пункт «Имя/URL», можно оставить комментарий от своего имени без предварительной регистрации.
Примечание. Отправлять комментарии могут только участники этого блога.