Илья, спасибо ответы.> -- Илья Ермаков писал(а):
> Программист всегда должен исходить из того, что предусловие может быть нарушено надсистемой.Именно для этого мы используем ASSERT, не так ли?Мне такие рассуждения не нравятся. Так можно очень далеко зайти. Например: а если "чуть-чуть" сбойнет процессор? А если повредится содержимое памяти? А если оно ещё сильнее повредится? И т. п.
Если есть вероятность нарушения предусловия надсистемой, то нужно так и формулировать предусловие.

> -- Илья Ермаков писал(а):
> Это не линейный поиск. Это простой линейный проход (линейный просмотр Дейкстры).Мне вот непонятно, нахрена было устраивать на ровном месте путаницу с термином "линейный поиск". Зачем "отменять" Дейкстру и Гриса? Ну использовали бы другой термин – "последовательный поиск", что ли. А теперь с любой публикацией будете иметь проблемы, придется постоянно объяснять, что имеется в виду под термином "линейный поиск". Буржуи уж точно сочтут таких авторов дебилами.
Кроме того, незаметно произошла подмена метода Дейкстры на два частных случая. Остальные случаи вообще не рассматриваются, я вижу постоянные попытки свестивсёк "двум базовых схемам".

По поводу цикла вида## Код:
```
WHILE rd.view = NIL DO
  .. что-то делается с ch..
  rd.ReadChar(ch)
END
```
все очень просто: в заголовке цикла стоит охрана, тело цикла выполняется только тогда, когда охрана истинна. Продвигаемя вперед, пока это можно делать, это же классика. Отрицания нет даже в "ходе мыслей".

Про "специфику управляющих алгоритмов", извините, НЕ ВЕРЮ. Я уже цитировал Дейкстру, который столкнулся со "спецификой экономических алгоритмов", и убедился что еёнет.
Примеры, которыми сопровождаются рассказы о Драконе, не имеют никакой специфики, кроме их предельной примитивности.