DRAKON.SU

Текущее время: Среда, 24 Апрель, 2024 21:29

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




Начать новую тему Ответить на тему  [ Сообщений: 172 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 13 Май, 2013 21:31 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ярослав Романченко писал(а):
Мало того что есть побочный вход так ещё и эргономичность этой схемы низкая. При таком количестве икон нужно было использовать силуэт :)

Это одна из тестовых схем. Её задача "уронить" программу-конструктор (если сможет : ).

А побочного входа всё-таки нет ...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 13 Май, 2013 21:50 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
Эдуард!

Есть там побочный вход. У Ермакова в двумерном структурном программировании доказывается математически. Я там в теме высказался и точки нарисовал.

А эргономически схема ужасна, раз такой вопрос возникает.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 13 Май, 2013 22:05 
Аватара пользователя

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

1) Эти ошибки не являются графическими. Они являются алгоритмическими (как всегда и назывались в классике)!

2) "Исчисление икон" их не может выявить в принципе, поскольку к синтаксису алгоритмические ошибки не относятся (а "исчисление икон" - это синтаксис)!

3) Маловероятными можно считать опечтаку типа "забыл вставить блок из уже разработанного алгоритма при переносе его в редактор".

4) Напротив, алгоритмические ошибки более чем вероятны в процессе разработки алгоритма - а именно об этом процессе мы и ведём речь, не так ли?!

5) На судбьу проекта могут оказать серьёзное влияние именно алгоритмические ошибки, не выявленные на этапе тестирования, например.


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

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Дмитрий Дагаев писал(а):
Эдуард!

Есть там побочный вход.

Вложение:
aa3.png
aa3.png [ 104.75 КБ | Просмотров: 14917 ]

Попробую выделить в исходной схеме циклы в отдельные процедуры и найти побочный вход.
Вложение:
dummy5-1.png
dummy5-1.png [ 51.99 КБ | Просмотров: 14917 ]

Вложение:
dummy5-2.png
dummy5-2.png [ 43.17 КБ | Просмотров: 14917 ]

Вложение:
dummy5-3.png
dummy5-3.png [ 42.21 КБ | Просмотров: 14917 ]

Вложение:
dummy5-4.png
dummy5-4.png [ 34.27 КБ | Просмотров: 14917 ]

Увы, побочного входа не нашёл.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 14 Май, 2013 05:54 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Вся эта тема пустая.

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

Основана эта возня на словоблудии.

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

Жалко студентов, которым придется весь этот бред повторять.


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

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Илья Ермаков в viewtopic.php?p=80085#p80085 писал(а):
Дмитрий Дагаев писал(а):
И я смею предположить для слепыша, что в иконах УСЛОВИЕ, ВЫБОР нет побочных эффектов, а только операторы сравнения. А отсутствие ДЕЙСТВИЕ - ошибка.


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 14 Май, 2013 06:29 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Ильченко Эдуард в viewtopic.php?p=80101#p80101 писал(а):
Дмитрий Дагаев писал(а):
Ошибки - отсутствие икон действие в местах, отмеченным красным, приводящие к бесконечному циклу.

Значения q10 и q11 неопределены. Это означает что возможен и выход из цикла.
К тому же q10 и q11 могут быть определены в d0 (см. икону Действие в начале).
Здесь же q10 и q11 просто placeholder'ы, которые ожидают своего наполнения.
Дык как я понимаю Дмитрия, он и говорит, что только после наполнения порой мы можем судить о реальном поведении процесса (системы "параллельных" процессов в общем случае). Вот Илья же привёл пример взаимодействия с "внешним объектом"... а что мы знаем о такой возможности, пока не определили, будет ли такое взаимодействие?..
Потому и Пётр говорит о декларативе... видимо, имеется в виду что-то такое:
Владислав Жаринов в viewtopic.php?p=47444#p47444 писал(а):
...
И снова вопрос - а что будет, если в этой конструкции оставить хотя бы одну из вертикалей ненагруженной?

Ответ: Т.к. мы исходим из того, что в развилках только проверяются логотношения между величинами, фигурирующими в шампур-блоках ветвей, то при исполнении такой конструкции будет происходить следующее. После прохода ненагруженной вертикали состояние визуала не изменится (мы ведь ничего не делали для этого) и произойдёт возврат в начало цикла Дейкстры. При дальнейшем выборе состояние опять не изменится, следовательно, исполнитель придёт к той же вертикали. Легко видеть, что произошло "зацикливание". Если ненагружены несколько вертикалей, то "зациклится" самая левая из них (ближняя к шампуру).
    В то же время некоторые прогязыки допускают в условном операторе вычисляемые выражения; членами выражения м.б. различные функции языка (среди которых м.б. и ввод). По сути, вершина "условие" тем самым неявно превращается в конструкцию следования из рабочего шампур-блока вычисления выражений и собственно условного оператора, в который результаты вычисления подставляются. При допущении такого текста в иконах Развилка (Выбор, Вариант) получаем, что для изменения состояния необязательно иметь шампур-блок в плече развилки; это будет делаться перед ней.
...
- ну и дальше там обсуждается то же, что в предыдущем посте - отделение "обрабатывающих" вычислений от "охранных"...
Вот вам и декларатив - в виде состояний предметки... и связи их по ходу процесса, не обязательно повторяющей связи на структуре маршрутов процесса...

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


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

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Геннадий Тышов писал(а):
Вся эта тема пустая.

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

Уважаемый Геннадий Тышов, некоторое время назад, в этой ветке, появилось Ваше сообщение с просьбой объяснить как можно обойтись без goto при трансляции из дракон-схемы в текст ЯВУ. Потом пропало. По всей видимости Вы поняли как это делается. Значит тема не так уж бесполезна.


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

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


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

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
Все-таки вернемся к главному:

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

Проблема третья - я вставляю 2 иконы ВОПРОС в линейный участок, чтобы получилось зацикливание.
Код:
1 GOTO 2
2 GOTO 1


Даже если 2 или 3 тестовых случая распознаются корректно, я предложу еще N, которые не распознаются.

Далее нужно переходить в конструктивное русло!


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

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

Даже если 2 или 3 тестовых случая распознаются корректно, я предложу еще N, которые не распознаются.


Не могу что-то представить, как это выглядит... Пересечения-то запрещены! (и распознать их можно).


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

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
Отмеченный красным овал внизу - один из вариантов. Можно вставить в любые места программы. Пересечений нет - есть обратная петля.


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

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
Конструктивно:

Предлагаю запретить обратные петли и использовать циклы с предусловием WHILE-DO и постусловием REPEAT-UNTIL.

Согласно принципу не плодить сущности используем те же иконы Начало Цикла, Конец Цикла.

В цикле с предусловием условие записывать в верхней иконе.

В цикле с постусловием условие записывать в нижней иконе.


Вложения:
until.png
until.png [ 2.07 КБ | Просмотров: 14883 ]
while.png
while.png [ 1.74 КБ | Просмотров: 14883 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 14 Май, 2013 09:44 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
Не допускается расположение икон начало/конец не на одной вертикали.

Допускаю возможность побочного выхода из циклов стрелкой вправо из элемента с условием.

Требуется эргономическая проработка иконы, в первом приближении так.

Данный алгоритм основан на примере Ермакова с поиском. Если поиск завершен успешно, выход по правой ветке.

Возможен процесс фолдинга, предложенный Алексеем Донским, при котором все содержимое цикла сворачивается в икону, аналогичную развилке.


Вложения:
while2.png
while2.png [ 2.2 КБ | Просмотров: 14881 ]


Последний раз редактировалось Дмитрий Дагаев Вторник, 14 Май, 2013 09:48, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 14 Май, 2013 09:45 
Аватара пользователя

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


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

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


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

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
Илья Ермаков писал(а):
Если всё равно в том же WHILE с конъюнкциями потеряется вся выразительность графики.

Вот если эргономически изобразить цикл с боковым выходом, при котором условия выхода и досрочного выхода будут разделены, то, уверяю, выразительности прибавится.


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

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5851
Откуда: Москва
В сообщении viewtopic.php?p=80116#p80116 Дмитрий Викторович Дагаев писал(а):
Все-таки вернемся к главному:

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


Дмитрий Викторович!

Вы совершенно правы. Вы очень хорошо выделили главное. Но Ваше утверждение вызывает возражения.

1. Ваш анализ строится на анализе примера:
viewtopic.php?p=80042#p80042

2. Этот пример не имеет никакого отношения к исчислению икон.
Пример выполнен с помощью редактора DRAKON editor. Этот редактор имеет много достоинств. И многие люди предпочитают именно этот редактор. Но этот редактор не поддерживает исчисление икон. Поэтому судить об исчислении икон на основе выбранного Вами примера недопустимо.

=======================================

Я уже говорил об этом в сообщении viewtopic.php?p=80100#p80100
Цитата:
Некоторые из представленных слепышей выполнены в редакторе, который НЕ поддерживает исчисление икон. Эти слепыши (строго говоря) надо исключить из рассмотрения и не рассматривать их на предмет ошибок.
Но, по-видимому, это мое сообщение осталось незамеченным.


Последний раз редактировалось Владимир Паронджанов Вторник, 14 Май, 2013 10:24, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 14 Май, 2013 10:21 

Зарегистрирован: Четверг, 21 Январь, 2010 18:06
Сообщения: 63
Откуда: Нижний Новгород
Дмитрий Дагаев писал(а):
Конструктивно:

Предлагаю запретить обратные петли и использовать циклы ...


Уважаемый Дмитрий!

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


Вложения:
Слепышь_128.png
Слепышь_128.png [ 5.05 КБ | Просмотров: 14869 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 14 Май, 2013 10:48 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
Уважаемые Владимир Даниелович!

Я конечно могу Вам возразить, что П.Приклонский проверял и на редакторе Тышова но не выявил. Но это - не главное.

Главное то, что ДРАКОНу давно назрела реформация. Нужно эту реформацию провести. И критика, иногда жесткая, не направлена на расшатывание устоев. Напротив, можно, максимально сохранив традиции и принципы, Вами заложенные сделать качественный скачок. Если Вы заметили, даже вновь введенные иконы WHILE REPEAT оказываются бережно используемыми старыми.

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

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


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

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


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

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


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

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