Упс, ошибочка, надо так:

> -- adimetrius писал(а):
> Я полагаю, варианты с WHILE/done и LOOP эквиваленты, и оба нехороши тем, что, фактически, несколько точек выхода из конструкции. Что нарушает принцип стрктрного программирования: у каждой штуковины один вход - один выход. В LOOP они отмечены словом EXIT, в WHILE/done - перевычислением done. В обоих случаях нужно "следовать" за вычислителем, чтобы понять, почему мы тут оказались. С предикатной процедурой была бы совсем другая - ясная - песня: один вход - один выход. Если, канешн, она будет без особо побочных эффектов ).И оба варианта подходят для формального использования. Вот мой:
О, а я не заметил! случайность ⋁ непривычность ⋁ неясность

А вы студентам преподаете такие шаблоны проектирования циклов?