DRAKON.SU https://forum.drakon.su/ |
|
Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМАМ https://forum.drakon.su/viewtopic.php?f=62&t=2928 |
Страница 1 из 4 |
Автор: | ==== [ Суббота, 23 Октябрь, 2010 15:05 ] |
Заголовок сообщения: | Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМАМ |
http://easyelectronics.ru/m-damke-operacionnye-sistemy-mikroevm.html#comments для скачивания http://reslib.com/book/61920 для чтения без скачивания. М. Дамке Операционные системы микроэвм Москва "Финансы и статистика" 1985 1982 BYTE Publications Inc. Приложение III Структурное программирование и структурированные блок-схемы Вложение: p0132-sel.png Вложение: p0133-sel.png стр. 134 Разработка новой нотации Цитата: Оценивая полученные ранее результаты, автор пришел к выводу, что необходима новая нотация, имеющая следующие возможности: - полностью представлять программируемый алгоритм; - давать общую картину и подробную, понятную документацию; - не требовать полной переделки блок-схемы при внесении в нее каждого изменения; - свести к минимуму введение новых обозначений; - обеспечить хорошое визуальное восприятие. Впоследствии автором была разработана нотация структурированных блок-схем, удовлетворяющая перечисленным требованиям. Вложение: p0135-sel.png Вложение: p0139-sel.png стр. 136 Вложение: p0136-sel.png Цитата: Поэтому рассмотрим, как эта нотация используется при разработке программы. Элементы в самой левой части блок-схемы дают общую картину программы; затем элементы расширяются вправо по мере разделения каждого из них (задачи) на элементы, представляющую собой соответствующую комбинацию подзадач. В результате программист может видеть, как углубляется проработка программы, если исследовать реализацию любой из главных или второстепенных подзадач, анализируятолько те элементы и управляющие структуры, которые находятся справа от данной подзадачи. Вложение: p0137-sel.png Старая нотация, в т.ч. язык Дракон, имеет последовательностный характер отображения алгоритма без отображения декомпозиции, уровня вложенности и иерархической структуры. Старая нотация ориентирована на применение оператора Goto, что противоречит идее структурного программирования. В данной нотации блок-схема алгоритма имеет иерархическую структуру с совместным отображением блоков верхнего и подчиненного уровня. В данной нотации органически отображается иерархическая блочная вложенность участков программы. С данной книгой знаком сразу после ее издания. В романтический период любительского компьютеростроения в 80-е годы, был изготовлен компьютер "Специалист" по журналу Моделист-конструктор. При развитии программного обеспечения применялся именно эти метод разработки программного обеспечения. В настоящее время нахожу что, в книге заложены более передовые идеи визуализации процесса разработки и отображения алгоритмов. Язык Дракон самостоятельно в настоящее время не имеет применения. Автор не использует его для разработки реальных алгоритмов, а рисует иллюстрации в неспециализированных графических редакторах для пропаганды языка Дракон. При этом частному языку Дракон приписываются свойства всей системы Графит-Флокс в целом, в частности языка программирования. Прошу не воспринять это сообщение, как попытку дерзить. |
Автор: | Илья Ермаков [ Суббота, 23 Октябрь, 2010 17:07 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
В этом варианте видна иерархия уровней, но теряется маршрутная информация, логика состояний системы... А детализацию надо делать через процедуры... Хотя вот такая форма развёртывания процедур могла бы быть полезной, "режим обозрения". |
Автор: | ==== [ Суббота, 23 Октябрь, 2010 17:41 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Цитата: видна иерархия уровней, но теряется маршрутная информация, логика состояний системы Для иерархического дерева, состоянием является листок в котором выполняется действие. Маршрут определяется путем от корня до листа. То и другое короче и лучше просматривается. В Драконе же, дерева нет, есть забор схемы Силуэт, в котором надо разбираться, как эти штакетины связаны между собой.Дерево нагляднее, чем забор. Здесь нет петель, т.е. замкнутых путей. Детализация и локализация не всегда делается через процедуры, в Паскале широко применяется составной оператор - блок begin - end. Дракон не лучший вариант для наглядности. |
Автор: | Илья Ермаков [ Суббота, 23 Октябрь, 2010 20:31 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Геннадий Тышов писал(а): Дерево нагляднее, чем забор. Здесь нет петель, т.е. замкнутых путей. Вот уж действительно, кто какие открытия делает ![]() Преимущества иерархии и классической процедурной структуры очевидны, странно, что для Вас это вдруг стало открытием. Так же как тем, кто работает с управляющими алгоритмами, очевидны сильные стороны драконовского представления. Вы, видимо, ждали чего-то - ждали, а потом выяснилось, что Вам совсем и не то нужно... |
Автор: | ==== [ Суббота, 23 Октябрь, 2010 20:36 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
В 1-ом сообщении добавил рисунки управляющих структур в обычной нотации. Видим,что элементы уровнем ниже находятся на той же вертикали, что и управляющие элементы. Отсутствует разделение уровней исполнения. То же, мы имеем и в Драконе. Исполняемые иконы в "Развилке" и "Обычном цикле" находятся в шампуре с иконой "Вопрос". Исполняемые ветви имеют выходящую линию на другой элемент, что соответствует переходу Goto. Фактически управление передается на управляющий элемент и на его уровень иерархии в алгоритме. Этот недостаток нарушает принцип следования идеи структурирования. Можно ставить вопрос об отказе от "Теории двумерного структурного программирования" и переходу к иерархическому, дерево-образному, многоуровневому программированию. |
Автор: | ==== [ Суббота, 23 Октябрь, 2010 20:42 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Илья Ермаков писал(а): Вы, видимо, ждали чего-то - ждали, а потом выяснилось, что Вам совсем и не то нужно... Илья ваши претензии имеют личностный характер, а в теме разбираются теоретические вопросы практики программирования. При этом используется мало известная публикация.Поводом для привлечения внимания к публикации послужила именно ваша статья. Из которой следует, что вы небыли знакомы с этой книгой. |
Автор: | Илья Ермаков [ Суббота, 23 Октябрь, 2010 20:45 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Я что-то не пойму серьёзности восклицаний. Кто работает по-другому? Для кого декомпозиция - открытие? Кто не знает, что уровни надо абстрагировать в процедурах, а каждая процедура должна быть в среднем 10-15 строк? Допускаю, что для тех, кто отстаивал недавно GOTO/BREAK. Какая-то каша. |
Автор: | Илья Ермаков [ Суббота, 23 Октябрь, 2010 20:57 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
По поводу иерархических представлений. Есть схемы Вельбицкого. http://emag.iis.ru/arc/infosoc/emag.nsf ... eb0034c090 Давно известны. В ГОСТе закреплены. Из новинок есть пи-схемы Прохорова (там у него и другие визуальные CASE-средства весьма интересны). См. автореферат его диссертации. Пример пи-схемы - на с. 17. Вложение: Последний абзац по рассуждениям относительно GOTO внушает подозрение, достаточно ли хорошо Вы знакомы с теорией автоматов и формальных языков. Прошу не воспринимать как личное, а то вон уже упрёкаете. Просто странно. Удивлён этой веткой. |
Автор: | Илья Ермаков [ Суббота, 23 Октябрь, 2010 21:02 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Геннадий Тышов писал(а): Для иерархического дерева, состоянием является листок в котором выполняется действие. Маршрут определяется путем от корня до листа. То и другое короче и лучше просматривается. Для ряда алгоритмов самая важная информация - цепи атомарных событий, которые они могут порождать. Когда нужно не изучать по слоям, а видеть все цепи. Иерархическая схема в таком случае заставляет буксовать. Когда нужна иерархия, её выносят во вспомогательные алгоритмы. Нужно ли иметь возможность видеть нижний уровень иерархии рядом справа? Видимо, в большинстве случаев нет - это нарушает абстракцию: если мы сделали процедуру, то она должна быть применима без знания её внутреннего устройства. При чтении программы, где она вызывается, не должно быть необходимости посещать её тело. (Такую необходимость может провоцировать использование глобальных переменных, вместо процедур, которые работают исключительно через свои параметры). |
Автор: | ==== [ Суббота, 23 Октябрь, 2010 21:05 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Илья Ермаков писал(а): Давно известны. В ГОСТе закреплены. Обычая нотация закреплена ГОСТом, а автор книги предлагает новую нотацию и эта нотация качественно меняет подход к практике программирования. Надо уметь видеть рациональное зерно в книге.
|
Автор: | ==== [ Суббота, 23 Октябрь, 2010 21:10 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Правильно Илья, Илья Ермаков писал(а): При чтении программы, где она вызывается, не должно быть необходимости посещать её тело. автор книги предлагает вынести правее исполняемое тело из уровня управляющего элемента.
|
Автор: | Илья Ермаков [ Суббота, 23 Октябрь, 2010 21:15 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Геннадий Тышов писал(а): Правильно Илья Ермаков писал(а): При чтении программы, где она вызывается, не должно быть необходимости посещать её тело. , автор книги предлагает вынести правее исполняемое тело из уровня управляющего элемента.А что ему там делать, если оно должно быть вообще вынесено отдельно, оформлено как вспомогательный алгоритм с именем и параметрами, и использоваться многократно? А как Вы будете обращаться многократно к блоку, приклееному справа к конкретному месту использования? Вы видели когда-нибудь фрагменты нормальной современной программы, в которых идут десятки небольших процедурок, длиной иногда всего по 4-5 строк? |
Автор: | Илья Ермаков [ Суббота, 23 Октябрь, 2010 21:17 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Геннадий Тышов писал(а): Надо уметь видеть рациональное зерно в книге. Да молодец автор, молодец, нормальная нотация. Правда, пи-схемы Прохорова мне больше нравятся. Но никаких революционных выводов из этого способа представления структурных программ не следует. |
Автор: | ==== [ Суббота, 23 Октябрь, 2010 21:22 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Илья Ермаков писал(а): А что ему там делать, если оно должно быть вообще вынесено отдельно, оформлено как вспомогательный алгоритм с именем и параметрами, и использоваться многократно? А как Вы будете обращаться многократно к блоку, приклееному справа к конкретному месту использования? Илья, вы же знаете, что не все выносят в процедуры. Если действие имеет локальный характер, не имеет функциональной самостоятельности, то выполняется по месту. Я уже обращал ваше внимание на составной блок в Паскале begin - end. |
Автор: | ==== [ Суббота, 23 Октябрь, 2010 21:29 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Илья Ермаков писал(а): Да молодец автор, молодец, нормальная нотация. Правда, пи-схемы Прохорова мне больше нравятся. Но никаких революционных выводов из этого способа представления структурных программ не следует. Незнаком с диссертацией Прохорова, как и со многим другим. Диссертация, скорее всего не рассчитана на сообщество программистов. Напишите книгу, изложите, что вы находите рациональным, книга будет для многих доступнее диссертации. Книга Дамке не предлагает революционных выводов, она несколько качественно меняет практику программирования. |
Автор: | Илья Ермаков [ Суббота, 23 Октябрь, 2010 21:35 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Геннадий Тышов писал(а): Илья, вы же знаете, что не все выносят в процедуры. Если действие имеет локальный характер, не имеет функциональной самостоятельности, то выполняется по месту. Я уже обращал ваше внимание на составной блок в Паскале begin - end. Геннадий Николаевич, ну конечно, знаю. Но когда "по месту" - разве проблема вообще достойна внимания, чтобы что-то изобретать? |
Автор: | Илья Ермаков [ Суббота, 23 Октябрь, 2010 21:38 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Геннадий Тышов писал(а): Незнаком с диссертацией Прохорова, как и со многим другим. Диссертация, скорее всего не рассчитана на сообщество программистов. Напишите книгу, изложите, что вы находите рациональным, книга будет для многих доступнее диссертации. Прохоров, кстати, большой практик. Владелец компании - и эти технологии у него там применяются... http://ekb.dkvartal.ru/ekb/magazines/dk ... algoritmom |
Автор: | ==== [ Суббота, 23 Октябрь, 2010 21:41 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Илья Ермаков писал(а): Но когда "по месту" - разве проблема вообще достойна внимания, чтобы что-то изобретать? Но, ведь нарушается принцип "Следования" структурного программирования. Ведь за оператором if идут другие операторы, а не те которые за then и else.
|
Автор: | Илья Ермаков [ Суббота, 23 Октябрь, 2010 21:44 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Да, просится разнести ещё и по горизонтали. Как раз задействовать плоскость. Достаточно неплохое косметическое улучшение. |
Автор: | ==== [ Суббота, 23 Октябрь, 2010 21:46 ] |
Заголовок сообщения: | Re: Альтернативный ВИЗУАЛЬНЫЙ СТРУКТУРНЫЙ ПОДХОД К АЛГОРИТМА |
Илья Ермаков писал(а): Прохоров, кстати, большой практик. Владелец компании - и эти технологии у него там применяются... С книгой Вельбицкого знаком, она у меня есть. Просматривал ГОСТ по P-технологии, но никогда не слыхал о применении.
|
Страница 1 из 4 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |