DRAKON.SU

Текущее время: Четверг, 17 Июнь, 2021 11:35

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос новичка про полку
СообщениеДобавлено: Пятница, 26 Март, 2010 06:23 

Зарегистрирован: Пятница, 26 Март, 2010 06:14
Сообщения: 4
Не могу понять, что делает элемент "полка".
В документации вообще ничего толком.
Или плохо искал?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос новичка про полку
СообщениеДобавлено: Пятница, 26 Март, 2010 10:43 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5175
Откуда: Москва
Функции иконы полка

1.На верхнем этаже полки пишут ключевое слово, на нижнем -- значение.

2.Пример. Посмотрите пример на стр. 160, а так же рис 81 на стр. 162, 163 книги «Как улучшить работу ума…»

3. В иконе "полка" на верхнем этаже пишем ключевое слово Выход.
На нижнем этаже пишем имя вызывающей процедуры.
(При этом управление передается на два или больше уровней наверх).
Транслятор передает управление немедленно.
На дракон-схеме добавляются икона АДРЕС "Завершение"
и икона ИМЯ ВЕТКИ "Завершение".
Благодаря этому соблюдается правило:
Дракон-схема имеет только один выход..

4. Очень важно!
viewtopic.php?p=42041#p42041
Просьба прочитать все 9 пунктов


Последний раз редактировалось Владимир Паронджанов Пятница, 26 Март, 2010 13:51, всего редактировалось 4 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос новичка про полку
СообщениеДобавлено: Пятница, 26 Март, 2010 10:48 

Зарегистрирован: Пятница, 26 Март, 2010 06:14
Сообщения: 4
т.е. полка - аналог continue/break/exit ???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос новичка про полку
СообщениеДобавлено: Пятница, 26 Март, 2010 12:46 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5175
Откуда: Москва
Я поправил мой предыдущий ответ.
__________________________________

Дополнительные иллюстрации и пояснения к иконе полка

:arrow: viewtopic.php?p=16946#p16946
см. п. 10 и 11.

:arrow: viewtopic.php?p=15353#p15353
см. п.2

:arrow: viewtopic.php?p=21901#p21901
см. п. 1 и вложение

:arrow: viewtopic.php?p=22679#p22679
Рэйлвэй Каген писал
Цитата:
"полка" - почти универсальное средство решения мелких проблем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: О завершении алгопроцесса
СообщениеДобавлено: Вторник, 16 Август, 2011 08:44 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Slon писал(а):
т.е. полка - аналог continue/break/exit ???

Ильченко Эдуард в viewtopic.php?p=64271#p64271 писал(а):
...
VOT7 писал(а):
2. Использование иконы полка несколько вольное… В книгах я такое не встречал…
Здесь
Владимир Паронджанов писал(а):
1.На верхнем этаже полки пишут ключевое слово, на нижнем -- значение.
...
Если внимательно прочитать в отсылочном посте все 9 пунктов (как и рекомендуется ;)), то п. 9 вызывает вопросы. Потому что опять же нужно для гибридизации рассматривать целостно синтаксис инфор-языка, правильно представляющего содержание - и уже исходя из этого, распределять его между текстом и графикой (привлекая и семантику, и прагматику). А здесь нелишне вспомнить такое замечание:
Ильченко Эдуард в viewtopic.php?p=64265#p64265 писал(а):
...
Имхо, реальные алгоритмы могут отличаться от теоретических, но при этом должны быть их подмножеством.
...
:) - трактуя теорию и как теорию информоделирования (в т.ч. алгоритмов и программ).

Конкретно по данному использованию. Идея поста, определённая как "вольная", в том, что Полка используется как оператор "промежуточного финиша" исполнения. Но. Для финиша у нас уже есть виоп Конец - он как раз имеет семантику выхода в вызывающий визуал. Ничего не мешает нам вставить Конец как терминал любого промежуточного маршрута (т.е. не достигающего главного конца визуала).
    Тут следует помнить, что выход на такой "промежуточный финиш" логически ничем не отличается от выхода на "главный". И так же достигается как результат выбора по какому-то условию - допустим, по нарушению инварианта, как описано здесь.
    Утверждение же "каждый визуал должен иметь один конец" не соответствует смыслу алгопроцесса даже в "классическом" техноязыке (так, "зацикленный" визуал вообще конца - главного - не имеет ;)). И потому д.б. скорректировано так: "Визуал может иметь один главный конец маршрутной структуры (или не иметь такового, если структура "зацикленная"), а также один или любое конечное число промежуточных концов.".
Далее. Та же идея вводит и иной аспект понимания "финиша" - можно выйти не обязательно в охватывающий визуал (последним вызвавший данный; проиллюстрировано здесь). Но, если имеются (предполагаются исполняемыми) другие визуалы - то по "промежуточному финишу" можно выйти в один из них. Это затрагивает теорию систем совместно протекающих процессов. И вызывает такие вопросы (прежде всего к автору решения):
    * по "главному финишу" можно выйти таким же образом?
    * если не было иерархии вызовов (как "вставок во вставки") над процессом, содержащим такой "финиш" - можно ли выйти в неиерархический ("рядом работающий") процесс?
    * если указанный в таком "финиш-операторе" процесс не существует на момент "финиша" - его нужно создавать или фиксировать ошибку исполнения?
Моё мнение таково:
    * Да, так можно выйти по любому "финишу".
    * Думаю, нельзя. И потому выйти можно будет только в один из процессов, лежащих выше по иерархии вызовов (если таковая определена дракон-моделью). Так д.б. в стандарте языка, так д.б. заложено и в редакторе.
    * Создавать не нужно. Но если указанный процесс не существует - то в силу предыдущего ответа только потому, что за время с момента порождения финиширующего процесса сам завершился (аварийно). И тут ничего не поделаешь.
Ессно, тут возникают вопросы с параллелизмом процессов - он же вроде не имеет отношения ко вставкам? Но. Каждый процесс в такой системе также порождается другим - посредством сообщения "Пуск". Эта связь и играет ту же роль, что вызов во вставке. И есть единственный системный процесс (напр., ядра УП), который "всех породил" и в этом случае. Ему в общем случае и получать сообщения о выходе "мимо вставок" - и обрабатывать эти ситуации.
Возможно, это требует уточнения грамотными "системщиками".

Что из сказанного анализа прагматики/семантики следует для синтаксиса? А то, что в любом случае можно (и нужно, исходя из смысла) использовать графику Конец для обозначения, по крайней мере, случая выхода только в охватывающий алгопроцесс - где бы этот конец ни располагался в "финиширующем" алгопроцессе. Вот насчёт случая, когда сочинитель допускает (а гибридизируемый язык предоставляет ему) возможность выхода не прямо в охватывающий - тут синтаксис должен это отражать. Но опять же - не обязательно полностью исключать графику Конец. Можно ввести особый текстовый синтаксис, можно предусмотреть боковик для этого случая. В общем, думать надо... но всегда - опираясь на семантику и прагматику.
И ещё. Сказанное никак не связано с тем, идёт ли речь о программных системах или о "ручных" бизнес-процессах (или о смешанных системах). Потому что в любом случае говорилось об информоделировании. А это значит, что любой исполнитель, независимо от его природы, рассматривается как информатически формальный.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

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


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

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


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

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