OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 17 Ноябрь, 2019 13:23

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Конструкция AND THEN?
СообщениеДобавлено: Четверг, 20 Январь, 2011 06:25 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
albobin писал(а):
Чем не очень нравится конструкция с AND THEN, так тем (по мимо всего прочего), что она не эквивалентна последовательности IFов:
IF лог.выражение1 THEN действие 1 END
IF лог.выражение1 AND лог.выражение2 THEN действие 2 END
и т.д.
Так ведь Илья и хотел выразить не это, а вот это наверное (если я не прав - думаю, меня поправят :) ):
Вложение:
Рисунки А3LS - Конструкция AND-THEN (примитив).png
Рисунки А3LS - Конструкция AND-THEN (примитив).png [ 61.62 КБ | Просмотров: 3227 ]
Да, и блоки <И1{,ИL}> у нас лианные - т.е. не получаются просто вложением атомарных блоков (понятно, когда хотя бы один ИL присутствует :) )...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конструкция AND THEN?
СообщениеДобавлено: Четверг, 20 Январь, 2011 08:09 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 700
Откуда: Псков
Драконограф писал(а):
albobin писал(а):
Чем не очень нравится конструкция с AND THEN, так тем (по мимо всего прочего), что она не эквивалентна последовательности IFов:
IF лог.выражение1 THEN действие 1 END
IF лог.выражение1 AND лог.выражение2 THEN действие 2 END
и т.д.
Так ведь Илья и хотел выразить не это, а вот это ...


Конечно речь шла об этой конструкции с самого начала (не примите это как ответ за И.Ермакова), вот поэтому и возникло замечание. AND воспринимается (по крайней мере у меня) как продолжение логического выражения.Конечно это восприятие сугубо индивидуальное.
Хотя в своём замечании немного не точно выразил мысль. Надо наверное так:
исходная конструкция с AND THEN не сводима к последовательности IFов, которую я привёл, хотя наличие AND провоцирует на это.
А не сводима по очевидной причине - значения одних и тех лог.выражений могут не совпадать при переходе на следующий IF.

И ещё. Лично я не сторонник использования только одного подхода (шаблона). Нет одного наилучшего решения. Всё зависит от конкретной задачи.Выбор того или иного способа определяется эстетичностью, наглядностью и т.п. конечного результата.


Последний раз редактировалось albobin Четверг, 20 Январь, 2011 12:30, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конструкция AND THEN?
СообщениеДобавлено: Четверг, 20 Январь, 2011 12:20 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
albobin писал(а):
Конечно речь шла об этой конструкции с самого начала (не примите это как ответ за И.Ермакова), вот поэтому и возникло замечание...
исходная конструкция с AND THEN не сводима к последовательности IFов, которую я привёл, хотя наличие AND провоцирует на это.
А не сводима по очевидной причине - значения одних и тех лог.выражений могут не совпадать при переходе на следующий IF.
Видимо, поэтому в выделенной отсюда ветке и обсуждаются подходящие ключевые слова и другой синтаксис - чтобы явно читалось...
albobin писал(а):
И ещё. Лично я не сторонник использование только одного подхода (шаблона). Нет одного наилучшего решения. Всё зависит от конкретной задачи.Выбор того или иного способа определяется эстетичностью, наглядностью и т.п. конечного результата.
Ага. Вот я тут набросал "графитно" - возможны ещё как минимум два варианта (правда, в языках без БП можно реализовать, конечно, только ЦД):
Вложение:
Рисунки А3LS - Конструкция AND-THEN (примитив, силуэт и ЦД).png
Рисунки А3LS - Конструкция AND-THEN (примитив, силуэт и ЦД).png [ 198.13 КБ | Просмотров: 3193 ]
Минус ЦД-варианта, каков он здесь - при выходе всё равно надо проходить по ЦД-шапке (сравнивая с нулевым номером этапа). Плюс - мы видим, чего делаем для выбора маршрута (как в автоматном программировании - напр. здесь). И, если я правильно понимаю - конструкция с явным использованием номера этапа будет делать то же самое - какими ключевыми словами её не представляй...
    Кстати, ЦД-вариант, наверное, можно оптимизировать - перенося как-то содержательные условия из "подвала" в "шапку" (считая, что на входе в конструкцию у нас "всё удалось")... подумать надо...
    Ещё один плюс ЦД-записи - уже технологический - при создании ЦД можно обойтись вложениями атомарных блоков (см. в этом подпункте).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Конструкция AND THEN?
СообщениеДобавлено: Воскресенье, 25 Декабрь, 2011 19:15 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
alexus писал(а):
Что мешает сделать этапы логическими функциями? Тогда было бы просто...
Код:
IF <этап0> AND <этап1> AND <этап3> ... THEN....


Поддерживаю
Я всегда так пишу... не задумываясь. Стандартный такой шаблон уже в мозгах


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB