> -- Peter Almazov писал(а):
> Как все запущено. Вы хоть Дейкстру-то почитайте.И не называйте это его именем. А хотя бы "Цикл arisu".лол. он имел в виду преобразование в классический цикл loop/while/repeat, в корректности которых вроде никто не сомневается. (а если и сомневается, то это в соседний раздел форума с адским матаном и прочими формальными доказательствами, мы тут обсуждаем вещи приземлённые)



Виртовский while-цикл Дейкстры:
## Код:
```
WhileStatement = "WHILE" expression "DO" StatementSequence {"ELSIF" expression "DO" StatementSequence} "END".
```
по аналогии можно сделать Розово-Поняшный™ repeat-цикл Дейкстры® (на всякий случай пометил, а то щас и на меня набросятся за неуважение к Дейкстре):
## Код:
```
RepeatStatement = "REPEAT" StatementSequence {"ELSIF" expression "DO" StatementSequence} ("END" | "UNTIL" expression).
```
разрешать end только когда есть elsif-do ветки, а until запрещать при наличии elsif-do...
## Код:
```
LoopStatement = "LOOP" StatementSequence {"ELSIF" expression "DO" StatementSequence} "END".
```
или таки loop лучше с запретом exit приналичии elsif-do веток?
но лучше бы было вообще с отдельными кейводами


ps: не ощущаю необходимости в Вировских и Розово-Поняшный циклах, хотя иногда и сталкиваюсь с такими кейсами как в первом посте.