OberonCore https://forum.oberoncore.ru/ |
|
Конструкция AND THEN? https://forum.oberoncore.ru/viewtopic.php?f=27&t=3175 |
Страница 2 из 2 |
Автор: | Владислав Жаринов [ Четверг, 20 Январь, 2011 06:25 ] |
Заголовок сообщения: | Re: Конструкция AND THEN? |
albobin писал(а): Чем не очень нравится конструкция с AND THEN, так тем (по мимо всего прочего), что она не эквивалентна последовательности IFов: Так ведь Илья и хотел выразить не это, а вот это наверное (если я не прав - думаю, меня поправят ): IF лог.выражение1 THEN действие 1 END IF лог.выражение1 AND лог.выражение2 THEN действие 2 END и т.д. Вложение: Да, и блоки <И1{,ИL}> у нас лианные - т.е. не получаются просто вложением атомарных блоков (понятно, когда хотя бы один ИL присутствует )...
|
Автор: | albobin [ Четверг, 20 Январь, 2011 08:09 ] |
Заголовок сообщения: | Re: Конструкция AND THEN? |
Драконограф писал(а): albobin писал(а): Чем не очень нравится конструкция с AND THEN, так тем (по мимо всего прочего), что она не эквивалентна последовательности IFов: Так ведь Илья и хотел выразить не это, а вот это ...IF лог.выражение1 THEN действие 1 END IF лог.выражение1 AND лог.выражение2 THEN действие 2 END и т.д. Конечно речь шла об этой конструкции с самого начала (не примите это как ответ за И.Ермакова), вот поэтому и возникло замечание. AND воспринимается (по крайней мере у меня) как продолжение логического выражения.Конечно это восприятие сугубо индивидуальное. Хотя в своём замечании немного не точно выразил мысль. Надо наверное так: исходная конструкция с AND THEN не сводима к последовательности IFов, которую я привёл, хотя наличие AND провоцирует на это. А не сводима по очевидной причине - значения одних и тех лог.выражений могут не совпадать при переходе на следующий IF. И ещё. Лично я не сторонник использования только одного подхода (шаблона). Нет одного наилучшего решения. Всё зависит от конкретной задачи.Выбор того или иного способа определяется эстетичностью, наглядностью и т.п. конечного результата. |
Автор: | Владислав Жаринов [ Четверг, 20 Январь, 2011 12:20 ] |
Заголовок сообщения: | Re: Конструкция AND THEN? |
albobin писал(а): Конечно речь шла об этой конструкции с самого начала (не примите это как ответ за И.Ермакова), вот поэтому и возникло замечание... Видимо, поэтому в выделенной отсюда ветке и обсуждаются подходящие ключевые слова и другой синтаксис - чтобы явно читалось...исходная конструкция с AND THEN не сводима к последовательности IFов, которую я привёл, хотя наличие AND провоцирует на это. А не сводима по очевидной причине - значения одних и тех лог.выражений могут не совпадать при переходе на следующий IF. albobin писал(а): И ещё. Лично я не сторонник использование только одного подхода (шаблона). Нет одного наилучшего решения. Всё зависит от конкретной задачи.Выбор того или иного способа определяется эстетичностью, наглядностью и т.п. конечного результата. Ага. Вот я тут набросал "графитно" - возможны ещё как минимум два варианта (правда, в языках без БП можно реализовать, конечно, только ЦД):Вложение: Минус ЦД-варианта, каков он здесь - при выходе всё равно надо проходить по ЦД-шапке (сравнивая с нулевым номером этапа). Плюс - мы видим, чего делаем для выбора маршрута (как в автоматном программировании - напр. здесь). И, если я правильно понимаю - конструкция с явным использованием номера этапа будет делать то же самое - какими ключевыми словами её не представляй...
Ещё один плюс ЦД-записи - уже технологический - при создании ЦД можно обойтись вложениями атомарных блоков (см. в этом подпункте). |
Автор: | ilovb [ Воскресенье, 25 Декабрь, 2011 19:15 ] |
Заголовок сообщения: | Re: Конструкция AND THEN? |
alexus писал(а): Что мешает сделать этапы логическими функциями? Тогда было бы просто... Код: IF <этап0> AND <этап1> AND <этап3> ... THEN.... Поддерживаю Я всегда так пишу... не задумываясь. Стандартный такой шаблон уже в мозгах |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |