> -- Peter Almazov писал(а):
> Илья, спасибо ответы.Мне такие рассуждения не нравятся. Так можно очень далеко зайти.Если есть вероятность нарушения предусловия надсистемой, то нужно так и формулировать предусловие.

Есть идеальный случай, а есть реальность. В которой всегда будут опечатки. Поэтому стопоры ошибок в виде ASSERT необходимы всюду, где только возможно.
Составляем процедуру - мы не знаем, когда и откуда она будет использована. Это - внешний мир, его всегда надо проверять. Хороший стиль - алгоритм должен отказаться работать, если предусловия не соблюдены.
Т.е. из нарушения предусловий следует не непредсказуемое поведение, а строгий авост.


> -- Цитата:
> Мне вот непонятно, нахрена было устраивать на ровном месте путаницу с термином "линейный поиск". Зачем "отменять" Дейкстру и Гриса? Ну использовали бы другой термин – "последовательный поиск", что ли.
Так в переводе Дейкстры термин "линейный просмотр", если мне память не изменяет.

> -- Цитата:
> Кроме того, незаметно произошла подмена метода Дейкстры на два частных случая. Остальные случаи вообще не рассматриваются, я вижу постоянные попытки свести  к "двум базовых схемам".

Так кто виноват, что большинство циклов - это обработка последовательностей. Некий dataflow. Расчётные циклы с варьированием по некоторому закону нескольких величин - редкость в массовом программировании.
А ПП и ЛП сами вытекают, как только у нас в постусловии возникло A или E.

> -- Цитата:
> По поводу цикла видавсе очень просто: в заголовке цикла стоит охрана, тело цикла выполняется только тогда, когда охрана истинна. Продвигаемя вперед, пока это можно делать, это же классика. Отрицания нет даже в "ходе мыслей".
Извините, это как раз технарские рассуждения. "Цикл крутится пока...". "Классика" - это то, что назначение каждого блока программы - обеспечить постусловие. Решить уравнение в предикатах, можно так сказать.
Поэтому интересует ЦЕЛЬ, для которой построен цикл. Целевой предикат.

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

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

Попробуйте перепишите структурно мне автомат вот этого протокола:
viewtopic.php?f=62&t=1148

А метод Дейкстры (способ рассуждения о поведении системы в терминах логических утверждений), вообще говоря, не ограничивается только классическими структурными конструкциями.

Автоматное программирование - это широкий арсенал формальных методов и инструментов. Для встроенки это практически стандарт.

http://ru.wikipedia.org/wiki/%D0%90%D0% ... 0%B8%D0%B5

http://softcraft.ru/auto.shtml