Илья Ермаков писал(а):
ain писал(а):
Вы сделали подмену. Смысловую.
У меня стоит выход, с передачей вычисленного значения (функция в Exit), у вас вызов процедуры и продолжение выполнения - проверка следующих условий.
Я Вам про то и толкую. Что у Вас там стоит выход.
C маленьким нюансом — расчет и выход.
Илья Ермаков писал(а):
А синтаксически ваш Exit является оператором более низкого ранга (вложенности), чем основные if. Поэтому я имею полное право в рассуждениях заменить его условным обозначением SomeOperator (чисто синтаксически).
Не можете.
Exit – элемент управления ходом выполнения программы.
Равно, как если бы вы сказали, вот тут у вас стоит GoTo, так я имею полное право заменить его условным обозначением SomeOperator.
Поэтому вы, при переписывании моего примера, должны добавить ветки else, а не просто заменить exit на нечто.
Илья Ермаков писал(а):
Так вот, суть в том, что я не желаю, чтобы этот SomeOperator имел возможность влиять на логику выполнения окружающего блока. Я хочу, чтобы я мог не думать, какой там SomeOperator, а полагаться исключительно на свойства цепочки if-ов.
Опираясь на ваши рассуждения, можно любую конструкцию заменить на SomeOperator.
Тот же if.
Илья Ермаков писал(а):
P.S. Вот блин; как, оказывается, остро стоит проблема "литературности". Видимо, мы не отдаём себе отчёт - а у людей-то в подкорке это отношение к программе, как к "тексту, объясняющему компьютеру, что надо делать". Полпары с новой группой сегодня специально посвятил разъяснениям природы подходов "сверху вниз", "снизу вверх", структуры и архитектуры систем, в сугубо инженерных категориях-терминах, чтобы заранее предотвратить формирование такого "литературного" стереотипа, а подготовить восприятие блочно-конструкционное.
Я лично пишу так, чтобы мне было как можно проще и понятней.
Чем меньше нужно времени на понимание, что же именно происходит в данной процедуре, тем лучше программа для меня.
В некоторых случаях важно и очень важны знания о том, как будет выполняться программа.