DRAKON.SU

Текущее время: Четверг, 28 Март, 2024 23:10

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




Начать новую тему Ответить на тему  [ Сообщений: 196 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 10  След.
Автор Сообщение
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 00:45 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Евгений Темиргалеев писал(а):
"Не нам, а вам". :) У меня такого восприятия не возникает. Да и вообще, я может формулой лучше запишу. Мне будет понятней. Говорить тут от себя (программиста и математика) за всех (в т.ч. не программистов, не математиков), как чего у "нас" симультантно воспринимается, я бы не стал.
А я таки рискнул! Всё же математик - это исключение, а нормальный человек - норма ;)

Евгений Темиргалеев писал(а):
Цитата:
Правильно! Как раз именно поэтому рис.94 есть тот самый паттерн, в котором предполагается then вниз, а else вправо!
В общем, не правильно . Для меня это паттерн вопрос с двумя исходами. Где да нет я не предполагаю.
Теперь давайте сравним один паттерн с другим. Один, скажем так, симметричный, другой принципиально несимметричный (if then else).
Какой паттерн позволяет симультанно решить больше задач, он и будет, соответственно более эргономичным!

btw, пустой симметричный паттерн - это уже переключатель, т.е. совсем другой примитив. Он изначально позиционируется как более сложный, поскольку подразумевает обязательный анализ внутренностей, без которого теряется путь.

В то время как несимметричный паттерн (развилка с фиксированными выходами) позволяет путь отслеживать симультанно!


Последний раз редактировалось Alexey_Donskoy Воскресенье, 14 Декабрь, 2008 00:48, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 00:47 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Alexey_Donskoy писал(а):
..Основной поток и обработчик ситуации.
Вот здесь уже я не понял.. Да, классики(Сафонов, Пентковский) относят вариант, когда программист явно анализирует логическое условие и выполняет структурный переход, к классу статических ситуаций.
Однако, по IF'у ветвятся не только нештатные ситуации, но и вполне правильные маршруты выполнения программы. Давайте назовём "развилку" "графическим сахаром" от "выбора". Частный случай. 2 варианта. Зачем городить огород с ситуациями вместо развилки?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 00:52 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 143
Откуда: Россия, Орёл
Alexey_Donskoy писал(а):
tw, пустой симметричный паттерн - это уже переключатель, т.е. совсем другой примитив. Он изначально позиционируется как более сложный, поскольку подразумевает обязательный анализ внутренностей, без которого теряется путь.

В то время как несимметричный паттерн (развилка с фиксированными выходами) позволяет путь отслеживать симультанно!
А я таки вот этот момент, у Вас, Алексей, не понимаю. Что значит, "отслеживать путь"?

Путь он и так виден. Есть "да/нет" или нету их. А как мы по нему в конкретный момент пойдём зависит от внутренностей.

Пример что-ли какой нарисуйте...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 00:55 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 28
Откуда: Ленинград, Емельянов Алексей Николаевич
Илья Ермаков писал(а):
Чем Вы иногда замените несколько этажей? Одним бессодержательным вопросом типа "всё в порядке - да, нет"? А что в порядке? :-)

А почему собственно бессодержательным? Очень даже содержательным и, что характерно, соответствующим главному пути. Если же нужна детализация "не в порядке", то лучше отобразить ее отдельно.
Надо сказать, что это очень созвучно практике психологии или эзотерики. Любой психолог (или экстрасенс) Вам скажет, что следует себе говорить: "У МЕНЯ ВСЕ БУДЕТ ХОРОШО", но никак не "СО МНОЙ НИЧЕГО ПЛОХОГО НЕ СЛУЧИТСЯ"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 00:57 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Рэйлвэй Каген писал(а):
классики(Сафонов, Пентковский) относят вариант, когда программист явно анализирует логическое условие и выполняет структурный переход, к классу статических ситуаций.
Вы мне льстите! Ведь я этот велосипед сам придумал... не математики мы, классикам не обучены ;)

Рэйлвэй Каген писал(а):
Зачем городить огород с ситуациями вместо развилки?
Смысл очень большой. Развилка сама по себе не нагружена абсолютно никаким смыслом. И смысл этот (семантику её в данном конкретном месте алгоритма) приходится выуживать путём углубленного анализа, с трудом то есть.
А ситуация уже вводит нас в контекст нужного смысла, при этом понятность возрастает на порядок!
(Напоминаю, что в примерах был смысл "продолжение клиентской сессии в зависимости от наличия нештатных ситуаций на сервере" и "что делать, когда при запросе на выход у клиента остались незавершённые транзакции"). Трудновато описать такое в безликих развилках (даже с комментариями), а вот в терминах ситуаций - запросто!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 01:24 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Евгений Темиргалеев писал(а):
Что значит, "отслеживать путь"?
Ну, ребята, ну почему вы все никак не хотите мыслить если уж не научно, так хотя бы инженерно! А то всё на уровне "мне нравится или нет"...

Опишите контекст (условия исследования).
Опишите (абстрактно!) задачи, которые решает проектировщик. Если сложно, понаблюдайте за собой для начала, какие задачи вы решаете в ходе проектирования.

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

Ну и вот, если пример "на пальцах" (правда, не совсем по теме маршрута, но зато всё в комплексе):
- Так, вот тут у нас, похоже, основной цикл... вот алгоритм идёт сюда, здесь выполняются основные действия... а это что за выход такой? Если ххх и ууу... Нифига не понимаю, а что это за ууу такой и причём тут ххх... Так, давай сначала... Что тут делается? Вот у нас основной цикл... Тут основные действия... Может, из них понятно, что такое ххх?... Смотрим действие 1 и т.д...

Другой вариант:
- Так, вот тут у нас, похоже, основной цикл... вот алгоритм идёт сюда, здесь выполняются основные действия... тут анализируется ситуация ххх... и что в этом случае делается? ага, правильно, выход...

То есть я к тому, что:
1) сначала воспринимается организация пространства (в данном случае маршрут);
2) многие задачи решаются чисто над графом алгоритма, без углубления в детали;
3) углубление в детали требуется только в случае крайней необходимости (основное требование когнитивной эргономики, между прочим);
4) графические примитивы управления маршрутом по возможности не должны требовать углубления в детали;
5) пустые симметричные конструкции всегда требуют углубления в детали.
6) несимметричные конструкции обычно способствуют продвижению по маршруту.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 01:31 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Alexey_Donskoy писал(а):
..классикам не обучены ;)
Тут же год назад Владимир Лось и Борис Рюмшин ликбез провели солидный..
Alexey_Donskoy писал(а):
Развилка сама по себе не нагружена абсолютно никаким смыслом. И смысл этот (семантику её в данном конкретном месте алгоритма) приходится выуживать путём углубленного анализа, с трудом то есть.
А ситуация уже вводит нас в контекст нужного смысла, при этом понятность возрастает на порядок!
"Статическая ситуация - это константа, значением которой является метка перехода..."(Пентковский). Не думаю, что метка перехода может обладать более глубоким смыслом и вводить нас куда-то ещё, кроме обозначенного перехода. В эльбрусе был аппаратный механизм поддержки структурных переходов, совершаемых в результате возникновения ситуации. М.б. поэтому ситуации там приветствовались и втаскивались в каждую норку. Ситуации для этого отдельно декларировались. Даже статические. Для них, после проверки условия, фактически делался RAISE.

Поэтому и не могу въехать в Ваше предложение использовать этот механизм вместо развилки.

Что делать с:
"продолжение клиентской сессии в зависимости от наличия нештатных ситуаций на сервере" и "при запросе на выход у клиента остались незавершённые транзакции"?

Видимо проверку условий:
"флаг "Работа" установлен?" и
"все транзакции клиента завершены?"

Другой вопрос, если Вы проверили флаг, всё нормально, вошли в процедуру и тут-то оно и обломалось. Вот здесь лучше подключить динамические ситуации, отображать их в виде областей и т.д.. :wink:


Последний раз редактировалось Рэйлвэй Каген Воскресенье, 14 Декабрь, 2008 19:53, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 01:45 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Рэйлвэй Каген писал(а):
Тут же год назад Владимир Лось и Борис Рюмшин ликбез провели солидный..
Меня тогда ещё здесь не было... Про Эльбрус я тут немного читал, но не факт, что понял ;)

Рэйлвэй Каген писал(а):
"Статическая ситуация - это константа, значением которой является метка перехода..."(Пентковский). Не думаю, что метка перехода может обладать более глубоким смыслом... Поэтому и не могу въехать в Ваше предложение использовать этот механизм вместо развилки.
Зачем механизм? Это не механизм, это представление (любого знания, и алгоритма, в частности). Меня не интересует реализация, меня интересут когнитивная эргономика.
Несимметричный графический примитив, который содержит указание на смысл уже в своей форме, является очень полезной штукой.

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

В случае симметричной развилки я сразу вынужден споткнуться на ней, чтобы определить, куда идти дальше... и почему...

Рэйлвэй Каген писал(а):
Что делать с "продолжение клиентской сессии в зависимости от наличия нештатных ситуаций на сервере" и "при запросе на выход у клиента остались незавершённые транзакции"? Видимо проверку условий
"флаг "Работа" установлен?" и "все транзакции клиента завершены?"
Смешивание разного уровня абстракций. Это плохо.

Чтобы понять принцип работы в целом, мне не надо думать о каком-то конкретном флаге. Мне надо думать о процессах и о ситуациях, влияющих на переключение процессов (маршрут). И, если я буду видеть и то, и другое, будет самое то, что надо!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 02:02 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Alexey_Donskoy писал(а):
Рэйлвэй Каген писал(а):
"флаг "Работа" установлен?" и "все транзакции клиента завершены?"
Смешивание разного уровня абстракций. Это плохо.

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

С остальным без стаканА никак не въеду. Для того, чтобы обрабатывать статическую ситуацию, на неё надо сначала перейти. После IF'а. Опять вилы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 02:09 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Уфф... не хочу развилку, она не позволяет понять с первого взгляда.
Хочу какую-нибудь подходящую фигуру, которую можно понять с первого взгляда, в которой я буду видеть смысл... в контексте процессов и маршрутов!

Если таки нужна развилка, то хочу сразу видеть основной и дополнительный пути, не вдаваясь в анализ условия.

Неужели я хочу слишком многого?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 02:44 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Ну так вроде и так известно, что основной путь вниз...

А вообще, можно любой фрагмент схемы с одним входом и неск. выходами рассматривать как анализ ситуации и выбор исхода....
Например, линейный поиск - два исхода вниз идут "нашли" - "не нашли".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 09:28 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Владимир Паронджанов писал(а):
Имеется в виду доработанная глава книги "Как улучшиь работу ума", которую я готовлю для нового издания
Глава выложена на народе.
Glava10Logic.doc

Интересно познакомиться с новым изложением материала, ранее это была глава 9-я. Что (хотя-бы тема) Вы решили добавить в начало книги?

Разрешите сказать, спросить еще о следующем:

1. Если в дракон-схеме удаляем текст икон и вписываем туда буквы (A..Z, А..Я), то иконы становятся пустыми, но с идентификаторами. Дракон-схема перестает быть алгоритмом (Алгоритм — точно описанная последовательность человеческих действий. Из книги "Как ..."), а становится объектом математического рассмотрения. Для эргономики такой объект не является предметом рассмотрения. После этого дискуссия приобретает черты интеллектуального терроризма.

2. Что Вы можете сказать о боковых присоединенных комментариях, в книге о них ничего не сказано. В ракетных делах (Графит-Флокс) возможно не используются т.к. это конкретная область, а при общем применении (культурологическом) языка ДРАКОН, это может быть важно. Обеспечивается привязка к проблемной области, ограничивается область значений. При нечетко определенных требованиях в алгоритме или в реализации фиксируется проблема с привязкой ее к алгоритму и откладывается ее решение.

3. Название языка ДРАКОН является аббревиатурой "Дружелюбный ...", т.е. имеет эротический оттенок. Разрешите использовать "Дружественный ...", что более нейтрально и общепринято в отношении к характеристике программных средств.

4. При постановке вопроса "Как улучшить работу ума", возникает проблема - как не сойти с него, возникает психологическое напряжение. Ведь ум такой ограниченный! Возможно это рекламный ход. Нужны какие-то профилактические средства со стороны автора для снятия психологического напряжения.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 11:33 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Илья Ермаков писал(а):
..анализ ситуации и выбор исхода....
Волшебные слова! Понятно, что ветвление происходит по данным(локальным или глобальным). Путём перебора и сравнения с образцом, на основе нечёткой логики(использовать не математические выражения, а слова, выражающие качество - по Л.Заде) или.. ассоциативного поиска. Пусть первый вариант ненаглядно изображается. Второй и третий - всё равно сведутся в итоге к набору "если..то".

Осталось все данные, по которым идёт ветвление, обозначить китайскими иероглифами(визуально воспринимаемыми как целое), рисовать их крупно в начале перехода на дракон-схеме и научить комп "китайскому переходу".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 13:52 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Alexey_Donskoy писал(а):
Уфф... не хочу развилку, она не позволяет понять с первого взгляда.
Хочу какую-нибудь подходящую фигуру, которую можно понять с первого взгляда, в которой я буду видеть смысл... в контексте процессов и маршрутов!
...
Неужели я хочу слишком многого?


Уважаемый Алексей Донской!

Я с большой симпатией отношусь к Вашему пожеланию. Более того, в языке Дракон Ваше пожелание реализовано. Поясню.

1. В книге "Как улучшить работу ума" на стр. 83 (рис. 2 пункт 3 вверху) развилка реализована как переключатель с двумя выходами. Это означает, что Вы (при желании) можете НИКОГДА не пользоваться развилкой. И ВСЕГДА вместо нее использовать такой переключатель.

2. В качестве примера приведу отрывок из моей книги "Почему мудрец похож на обезьяну..." стр. 366-367

начало цитаты

ЛЮБОВЬ И ПРОЦЕДУРНОЕ ЗНАНИЕ

Эта глава была довольно трудной. Поэтому хочется закончить ее занимательной исто-рией. Мы надеемся, она вызовет у читателя, если не улыбку, то, по крайней мере, приятное чувство облегчения. (Несмотря на то, что главный герой, судя по всему, всерьез намерен удавиться).
Вспомним, что знания бывают процедурные и декларативные. В начале главы говори-лось о том, что в книгах доминируют декларативные знания, а процедурные встречаются крайне редко.
Но бывают исключения. Перед нами стихотворение Генриха Гейне, которое «битком набито» процедурными знаниями.

Вставай, слуга! Коня седлай!
Чрез рощи и поля
Скачи скорее ко двору
Дункана-короля.

Зайди в конюшню там и жди.
И, если кто войдет,
Спроси: «Которую Дункан
Дочь замуж выдает?»

Коль чернобровую — лети
Во весь опор назад.
Коль ту, что с русою косой,
Спешить не надо, брат.

Тогда ступай на рынок ты,
Купи веревку там,
Вернися шагом и молчи —
Я догадаюсь сам.

Это стихотворение легко превращается в алгоритм (рис. 66). Там же виден «кусочек» декларативного знания, которое записано в иконе комментарий — «Я догадаюсь сам» (рис. 66).


Вложения:
Комментарий к файлу: Пример переключателя с двумя выходами, который заменяет развилку
Ris.png_66_Haine.png
Ris.png_66_Haine.png [ 99.42 КБ | Просмотров: 14712 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Да"-"нет" в развилках
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 22:21 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Владимир Даниелович, уж простите, но это не ответ. И ни одного ответа от Вас по теме и по существу.

Повторяю - посмотрите на рис.109-110 новой главы 10.

Вы убиваете свою идею и свою книгу на корню. Это грустно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 15 Декабрь, 2008 10:31 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 143
Откуда: Россия, Орёл
Все ответы на вопрос разбиваются на два класса.

Можно записать как развилкой, так и переключателем с двумя исходами. Это эквивалентные иконы. Если у развилки зафиксировать выход "да", то она не будет эквивалентна переключателю с двумя исходами, согласен. Как и развилке с нефиксированными исходами.

Однако, чтобы проследить путь после развилки, надо ответить на вопрос. Для этого надо "углубиться". Даже если выход "да" зафиксирован. Вы же, если я Вас правильно понял, всё время утверждаете обратное. И тоже не даёте ответа по существу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 15 Декабрь, 2008 11:08 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Евгений Темиргалеев писал(а):
Однако, чтобы проследить путь после развилки, надо ответить на вопрос. Для этого надо "углубиться". Даже если выход "да" зафиксирован. Вы же, если я Вас правильно понял, всё время утверждаете обратное. И тоже не даёте ответа по существу.
Если развилка симметричная, то первоначальное её восприятие происходит в симультанном режиме ("мгновенное", бессознательное распознавание контура). Тут симультанный процесс прерывается, поскольку за двумя зайцами одновременно погнаться невозможно, а предпочесть какой-либо из двух одинаковых путей тоже нельзя, поскольку сразу возникает требующий ответа вопрос "почему?". После уже сознательного анализа ответа на вопрос "почему?" необходимо следует другой сознательный анализ - поиск нужного выхода (поскольку выходы ДА/НЕТ не фиксированы). Следовательно, при такой развилке всегда требуется прерывание симультанного восприятия и два акта сознательного анализа!

Заметим, что в переключателе это требуется по определению, и оптимизировать переключатель невозможно в принципе; но переключатель из двух положений (развилка) - оптимизировать можно!

Оптимизация может заключаться в использовании другой подходящей визуальной конструкции - например, обработки ситуации (заметим же, что никто до сих пор не нарисовал удобную, эргономичную форму для такой конструкции, но это - второй вопрос).
Если мы нарисуем такую визуальную конструкцию, то симультанный процесс восприятия алгоритма не будет прерываться!
Сознательный анализ потребуется только в том случае, когда нас заинтересуют вопросы "а что это за ситуация?" и "к чему может привести эта ситуация?". Да и то последний вопрос решается тоже почти на автопилоте...

Примечание 1. Такая оптимизация возможна не всегда. Но, даже если в половине случаев мы получим выигрыш на порядок, то так делать надо!

Примечание 2. Выше сказанное достаточно непросто измерить количественно. Это количество кликов мыши и её перемещение измерить легко, а движение мысли - трудно... Многие люди могут быть "натренированы" на решение определённого класса задач неоптимальным способом, и потому они всё равно дадут фору тем, кто такие задачи решает редко... тогда у них и у окружающих может возникнуть иллюзия, что подобные психофизиологические экскурсы а)несущественны, б)сугубо индивидуальны. Но это будет лишь иллюзией!

P.S. Да, ещё раз по поводу рис. 109-110. Это ключевой момент в данном вопросе. Супернаглядная иллюстрация того, как делать нельзя ни в коем случае. Когнитивная эргономика в действии.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Да"-"нет" в развилках
СообщениеДобавлено: Понедельник, 15 Декабрь, 2008 12:11 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Мое личное мнение после этого обсуждения и сопоставления со своим опытом.
Плохо и неэргономично в одном примитиве позволять неодинаковую ориентацию "да"-"нет".
Каждый раз, когда строим композицию развилок (например, при построении цикла), строго ориентируем "да"-"нет" в одну сторону.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 15 Декабрь, 2008 13:12 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Alexey_Donskoy писал(а):
P.S. Да, ещё раз по поводу рис. 109-110. Это ключевой момент в данном вопросе. Супернаглядная иллюстрация того, как делать нельзя ни в коем случае.


Уважаемый Алексей Донской!

В конце главы 10 есть раздел, который вызывает у Вас особенно сильные возражения. Этот раздел называется "ВИЗУАЛИЗАЦИЯ СЛОЖНЫХ ЛОГИЧЕСКИХ ФУНКЦИЙ".

Прежде всего, хочу пояснить, что это МАТЕМАТИЧЕСКИЙ раздел, касающийся вопроса о булевых функциях. Обычно булевы функции записывают либо в виде формул, либо в виде логичских схем (при проектировании аппаратуры).

Насколько мне известно, до сих пор вопрос о возможности представления булевых функций в виде визуальных алгоритмов НЕ БЫЛ ИССЛЕДОВАН. Это новый раздел (точнее, маленький кусочек) математической логики.

В связи с этим возникают вопросы.
1. Можно ли произвольную булеву функцию представить в виде визуального алгоритма на языке Дракон? Если можно, как это сделать?

2. Обратная математическая задача. Можно ли произвольную булеву функцию (представленную в виде визуального алгоритма на языке Дракон) преобразовать в эквивалентную булеву функцию, записанную в виде обычной (традиционной) формулы.
Если можно, как это сделать?

Вот на эти матеатические вопросы и отвечает последний раздел главы 10. В этом разделе можно выделить 4 части:

1. :arrow: Дана булева функция

Х = (A и неВ и C) или (D и E и неF)

Затем на рис. 108 представлена эквивалентная ей булева функция представленная в виде визуального алгоритма на языке Дракон.

2. :arrow: Затем сформулирована теорема в общем виде:

      Теорема . Дракон-схему, содержащую логические связки И, ИЛИ, НЕ внутри икон «вопрос», всегда можно преобразовать в эквивалентную дракон-схему, не содержащую указанных связок.

3. :arrow: Затем на рис. 109 показана обратная задача.
Даны булевы функции представленные в виде визуального алгоритма на языке Дракон. И тут же дан искомый ответ:
эквивалентные булевы функции, записанные в виде обычных (традиционных) формул.

4. :arrow: Затем на рис. 110 показана обратная задача, но уже без ответов.

Вывод. Все это чистая математика. Против чего тут возражать? Или в мою математику вкралась ошибка?

Эта математика нужна, так как она служит теоретическим обоснованием описываемых в программах на Драконе логических функций (независимо от того, в какую сторону развернуты да и нет).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Да"-"нет" в развилках
СообщениеДобавлено: Понедельник, 15 Декабрь, 2008 13:43 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Владимир Даниелович!

С математикой (формулами мат.логики) программисту иметь дело приходится не так уж часто. Да, собственно, и не в математике дело. Сама возможность построения конструкций такого вида, как рис.109, в языке, претендующем на когнитивную эргономичность, выносит такому языку приговор с точки зрения этой самой эргономики!

Да, мы имеем право (свободу) написать весь текст программы на С или Паскале в одну строчку... Однако ж так никто не делает почему-то...
Да, мы можем придерживаться определённой дисциплины и в не предназначенных для этого языках (так, мои Фортран-программы в стиле Паскаля, с отступами, повергали в ступор зрителей ;) ).

Всё это само по себе ни о чём не говорит и аргументом не является.

Однако, предлагая эту определённую дисциплину как методику и как конкретный язык, и говоря об эргономике как основе этой методики, будьте последовательны!


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

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


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

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


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

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