DRAKON.SU

Текущее время: Пятница, 29 Март, 2024 01:54

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




Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 15:05 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
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 20:05, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 17:07 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
В этом варианте видна иерархия уровней, но теряется маршрутная информация, логика состояний системы...

А детализацию надо делать через процедуры... Хотя вот такая форма развёртывания процедур могла бы быть полезной, "режим обозрения".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 17:41 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Цитата:
видна иерархия уровней, но теряется маршрутная информация, логика состояний системы
Для иерархического дерева, состоянием является листок в котором выполняется действие. Маршрут определяется путем от корня до листа. То и другое короче и лучше просматривается. В Драконе же, дерева нет, есть забор схемы Силуэт, в котором надо разбираться, как эти штакетины связаны между собой.

Дерево нагляднее, чем забор.
Здесь нет петель, т.е. замкнутых путей.

Детализация и локализация не всегда делается через процедуры, в Паскале широко применяется составной оператор - блок begin - end.

Дракон не лучший вариант для наглядности.


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

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


Вот уж действительно, кто какие открытия делает :)
Преимущества иерархии и классической процедурной структуры очевидны, странно, что для Вас это вдруг стало открытием.

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

Вы, видимо, ждали чего-то - ждали, а потом выяснилось, что Вам совсем и не то нужно...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 20:36 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
В 1-ом сообщении добавил рисунки управляющих структур в обычной нотации.

Видим,что элементы уровнем ниже находятся на той же вертикали, что и управляющие элементы. Отсутствует разделение уровней исполнения.

То же, мы имеем и в Драконе. Исполняемые иконы в "Развилке" и "Обычном цикле" находятся в шампуре с иконой "Вопрос".
Исполняемые ветви имеют выходящую линию на другой элемент, что соответствует переходу Goto. Фактически управление передается на управляющий элемент и на его уровень иерархии в алгоритме.

Этот недостаток нарушает принцип следования идеи структурирования.

Можно ставить вопрос об отказе от "Теории двумерного структурного программирования" и переходу к иерархическому, дерево-образному, многоуровневому программированию.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 20:42 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Илья Ермаков писал(а):
Вы, видимо, ждали чего-то - ждали, а потом выяснилось, что Вам совсем и не то нужно...
Илья ваши претензии имеют личностный характер, а в теме разбираются теоретические вопросы практики программирования. При этом используется мало известная публикация.

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


Последний раз редактировалось ==== Суббота, 23 Октябрь, 2010 20:47, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 20:45 
Модератор
Аватара пользователя

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

Кто работает по-другому? Для кого декомпозиция - открытие? Кто не знает, что уровни надо абстрагировать в процедурах, а каждая процедура должна быть в среднем 10-15 строк?

Допускаю, что для тех, кто отстаивал недавно GOTO/BREAK.

Какая-то каша.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 20:57 
Модератор
Аватара пользователя

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

Есть схемы Вельбицкого.

http://emag.iis.ru/arc/infosoc/emag.nsf ... eb0034c090

Давно известны. В ГОСТе закреплены.

Из новинок есть пи-схемы Прохорова (там у него и другие визуальные CASE-средства весьма интересны).

См. автореферат его диссертации. Пример пи-схемы - на с. 17.

Вложение:
Avtoreferat.pdf [1018.21 КБ]
Скачиваний: 724


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

Прошу не воспринимать как личное, а то вон уже упрёкаете.
Просто странно. Удивлён этой веткой.


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

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Геннадий Тышов писал(а):
Для иерархического дерева, состоянием является листок в котором выполняется действие. Маршрут определяется путем от корня до листа. То и другое короче и лучше просматривается.


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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 21:05 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Илья Ермаков писал(а):
Давно известны. В ГОСТе закреплены.
Обычая нотация закреплена ГОСТом, а автор книги предлагает новую нотацию и эта нотация качественно меняет подход к практике программирования. Надо уметь видеть рациональное зерно в книге.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 21:10 

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


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

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


А что ему там делать, если оно должно быть вообще вынесено отдельно, оформлено как вспомогательный алгоритм с именем и параметрами, и использоваться многократно?
А как Вы будете обращаться многократно к блоку, приклееному справа к конкретному месту использования?

Вы видели когда-нибудь фрагменты нормальной современной программы, в которых идут десятки небольших процедурок, длиной иногда всего по 4-5 строк?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 21:17 
Модератор
Аватара пользователя

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


Да молодец автор, молодец, нормальная нотация. Правда, пи-схемы Прохорова мне больше нравятся.
Но никаких революционных выводов из этого способа представления структурных программ не следует.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 21:22 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Илья Ермаков писал(а):
А что ему там делать, если оно должно быть вообще вынесено отдельно, оформлено как вспомогательный алгоритм с именем и параметрами, и использоваться многократно?
А как Вы будете обращаться многократно к блоку, приклееному справа к конкретному месту использования?

Илья, вы же знаете, что не все выносят в процедуры. Если действие имеет локальный характер, не имеет функциональной самостоятельности, то выполняется по месту. Я уже обращал ваше внимание на составной блок в Паскале begin - end.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 21:29 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Илья Ермаков писал(а):
Да молодец автор, молодец, нормальная нотация. Правда, пи-схемы Прохорова мне больше нравятся.
Но никаких революционных выводов из этого способа представления структурных программ не следует.


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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 21:35 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Геннадий Тышов писал(а):
Илья, вы же знаете, что не все выносят в процедуры. Если действие имеет локальный характер, не имеет функциональной самостоятельности, то выполняется по месту. Я уже обращал ваше внимание на составной блок в Паскале begin - end.


Геннадий Николаевич, ну конечно, знаю.

Но когда "по месту" - разве проблема вообще достойна внимания, чтобы что-то изобретать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 21:38 
Модератор
Аватара пользователя

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


Прохоров, кстати, большой практик. Владелец компании - и эти технологии у него там применяются...

http://ekb.dkvartal.ru/ekb/magazines/dk ... algoritmom


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 21:41 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Илья Ермаков писал(а):
Но когда "по месту" - разве проблема вообще достойна внимания, чтобы что-то изобретать?
Но, ведь нарушается принцип "Следования" структурного программирования. Ведь за оператором if идут другие операторы, а не те которые за then и else.


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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Октябрь, 2010 21:46 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Илья Ермаков писал(а):
Прохоров, кстати, большой практик. Владелец компании - и эти технологии у него там применяются...
С книгой Вельбицкого знаком, она у меня есть. Просматривал ГОСТ по P-технологии, но никогда не слыхал о применении.


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

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


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

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


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

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