> -- albobin писал(а):
> Из своей практики (MUMPS) могу предложить:1. Такой же как у И.Ермакова с переменной ok.2. Каждый этап оформлен как функция, возвращающая успешность выполнения. Тогда получается что-то вроде (сама идея) :IF        not этап1ELSEIF not этап2...ELSEIF not этапNELSE    итоговые3. WHILE  в комбинации с CASE в теле WHILE  (что то вроде наипростейшего автомата)P.S.А сама конструкция (начало темы) не очень нравится

Да, мне представляется хорошим вот такой вариант:

## Код:
```
step := 1; ok := TRUE;
WHILE (step # 3) & ok DO
  CASE step OF
  | 1:
    Первый этап;
    ok := первый этап успешен
  | 2:
    Второй этап;
    ok := второй этап успешен
  END;
  INC(step)
END
```


С функциями не нравится, т.к. теряется общий вид на последовательность.
Характер таких алгоритмов (последовательность шагов-проверок) как раз такой, что лучше иметь линейную простыню, чем рвать на части. Использование переменных сквозное и т.п.

Ну, расширять язык я, разумеется, и не предлагал. Конструкция была затравкой к рассмотрению такого класса алг. структур