DRAKON.SU

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

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




Начать новую тему Ответить на тему  [ Сообщений: 376 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10 ... 19  След.
Автор Сообщение
СообщениеДобавлено: Четверг, 27 Март, 2008 13:53 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Сергей Губанов писал(а):
Так ведь на сгенерированный код вообще смотреть не надо

Так, разве-что из любопытства :mrgreen: Смотрят-же ассемблерный код :)


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 143
Откуда: Россия, Орёл
Ярослав Романченко писал(а):
Сергей Губанов писал(а):
Так ведь на сгенерированный код вообще смотреть не надо

Так, разве-что из любопытства :mrgreen: Смотрят-же ассемблерный код :)
Ага. Сначала разработчик делает просмотр сгенерированного кода (для собственных целей разработки), а потом все остальные начинают смотреть его ради любопытства и считать, где и сколько инструкций получилось. :)


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

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 82
Откуда: Москва
Илья Ермаков писал(а):
...По вертикали, по-прежнему, оптимумом будет размер в 1 экран. По горизонтали декомпозиция на ветки, каждая из которых, вообще говоря, пригодна для обособленного восприятия. Если часть веток уйдёт вбок за экран - ничего страшного.


Для отображения на экране (а не для вывода на ватман) лучше иметь список веток - одна под другой. Щелкнул по нужной ветке - она открылась, как файлы и вложенные папки становятся видны в папке при щелчке по ней, когда значок [+] меняется на [-]. Я бы не стал жестко связывать программиста ни длиной веток, ни их количеством.


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

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Сергей Прохоренко писал(а):
Для отображения на экране (а не для вывода на ватман) лучше иметь список веток - одна под другой. Щелкнул по нужной ветке - она открылась, как файлы и вложенные папки становятся видны в папке при щелчке по ней, когда значок [+] меняется на [-]. Я бы не стал жестко связывать программиста ни длиной веток, ни их количеством.

Здаётся мне, Вы книгу толком и не читали... :?
Длинная ветка успешно может заменится одним блоком.
Цитирую:
Илья Ермаков писал(а):
... Декомпозицию на вспомогательные алгоритмы никто не отменял...


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

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 82
Откуда: Москва
Ярослав Романченко писал(а):
Сергей Прохоренко писал(а):
Для отображения на экране (а не для вывода на ватман) лучше иметь список веток - одна под другой. Щелкнул по нужной ветке - она открылась, как файлы и вложенные папки становятся видны в папке при щелчке по ней, когда значок [+] меняется на [-]. Я бы не стал жестко связывать программиста ни длиной веток, ни их количеством.

Здаётся мне, Вы книгу толком и не читали... :?
Длинная ветка успешно может заменится одним блоком.
Цитирую:
Илья Ермаков писал(а):
... Декомпозицию на вспомогательные алгоритмы никто не отменял...


Я не считаю нужным молиться на те технические решения двадцатилетней давности, которые заложены в "Дракон" (например, кромсание веток из-за нехватки места). Интерфейсы с тех пор значительно изменились. Не было тогда ни гиперссылок, ни иерархических списков, ни многооконных интерфейсов, а были блок-схемы и листы ватмана. Для того времени - отлично, а для нынешнего - не очень. Тот позитив, который есть в "Драконе" (графическое представление превалирует над текстовым, имеется конечный автомат, ветки упорядочиваются определенным образом) вполне может сочетаться с более свежим интерфейсом.


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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 27 Март, 2008 19:22 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 112
Откуда: Беларусь, Минск
Илья Ермаков писал(а):
Мозгу легче всего установить ассоциацию между элементами, если эти элементы присутствуют одновременно в зрительном поле.
В зрительном поле они должны присутствовать не обязательно. Но они должны находиться в локусе внимания. Для этого, локус не должен ни на что переключаться. А если пользователь пытается свернуть/развернуть скаладки, то локус привязан к этму действию, и пользователь забывает о содержимом, находящемся внутри. Забывает, конечно, не всегда, но тенденция такая есть.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 27 Март, 2008 19:24 
Модератор
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 27 Март, 2008 20:27 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5851
Откуда: Москва
В этом сообщении изложена Часть 5, в которой представлены ответы Паронджанова на вопросы и критические замечания участников форума «Визуальный язык программирования Дракон», изложенные на 5-й странице форума.
Примерно через десять дней последует Часть 6, в которой я продолжу отвечать на вопросы и критические замечания.

С глубоким уважением Владимир Паронджанов

Часть 5. Ответы Паронджанова на вопросы и критические замечания участников форума «Визуальный язык программирования Дракон», изложенные на 5-й странице форума.

Ярослав Романченко Суббота, 15 Март, 2008 12:51

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

Ответ Паронджанова

Полностью поддерживаю предложение уважаемого Ярослава. Развивая его мысль, хочу высказать пожелание. Было бы неплохо, если бы созданные участниками дискуссии дракон-схемы были где-то выложены для всеобщего обозрения и критики. В таком случае участники дискуссии могли бы сообща обсуждать эти дракон-схемы, оценивать их, выискивать недостатки и достоинства.
Дескать, вот это хорошо. А вот это плохо. Тут же бы рождались предложения — как можно устранить погрешности РЕАЛЬНЫХ дракон-схем. Чтобы сделать их совершеннее, качественнее, лучше.

ORG100H Четверг, 20 Март, 2008 17:13

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

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

Вот отсюда мой вопрос В.П[аронджанову]. Что можно предложить для двумерного представления структур данных? Как визуально связать двумерные структуры данных с двумерными структурами исполняемого кода? Реально остаться в 2D?

Ответ Паронджанова

Уважаемый ORG100H!
Если говорить точно, я не знаю. Этот вопрос я не исследовал, не думал над ним. Таким образом, на Ваш вопрос у меня нет ответа.

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

Пункт 1.

ПРОЦЕДУРНЫЕ И ДЕКЛАРАТИВНЫЕ ЗНАНИЯ

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

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

Декларативные (дескриптивные, атрибутивные, описательные) — это знания не о действиях, а об описаниях информационных и физических объектов. Примером является типичная запись в базе данных:

Фамилия; Имя; Отчество; Год рождения; Образование; Должность
Иванов; Сергей; Петрович; 1980; высшее; менеджер

Для изложения декларативных знаний представители разных профессий нередко используют различные декларативные языки, в том числе графические. Например, декларативные знания конструктора выражаются на языке конструкторских чертежей, электрика — на языке электрических схем, географа — на языке географических карт.

МОЖНО ЛИ СОЗДАТЬ ЕДИНЫЙ ЯЗЫК ПРЕДСТАВЛЕНИЯ ПРОФЕССИОНАЛЬНЫХ ЗНАНИЙ?

Для наших целей большой интерес представляет вопрос: можно ли придумать единый универсальный язык, удобный для специалистов любой профессии и позволяющий улучшить взаимопонимание между ними?

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

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

Но есть и хорошая новость. В отличие от декларативных знаний процедурные знания специалистов любого профиля имеют в точности одинаковую структуру. Эта структура нисколько не зависит от конкретной специальности и предметной области.
Отсюда проистекает важный вывод:

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

ДАВАЙТЕ ОБСУДИМ РЕЗУЛЬТАТ

Полученный вывод очень важен по трем причинам.

:!: Во-первых, создаются благоприятные предпосылки для построения универсального процедурного языка, позволяющего выражать любые процедурные знания в любой предметной области в ЕДИНОЙ СТАНДАРТНОЙ ФОРМЕ.

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

:!: В-третьих, средства для описания структуры деятельности (которые также относятся к процедурным знаниям) играют особую роль в человеческой жизни. В самом деле, человек — деятельное существо. От рождения до смерти он непрерывно действует. Деятельность выражает сущность жизни. Бездеятельность — это смерть.

Поэтому знания о структуре деятельности и бизнес-процессов (процедурные знания) составляют важнейший компонент человеческих знаний, их основу. Можно предположить, что в системе человеческих знаний процедурные знания играют фундаментальную роль — роль несущей конструкции или каркаса, который скрепляет между собой (склеивает, цементирует) отдельные фрагменты декларативных знаний.
Сказанное хорошо согласуется с известным мнением, что
    «большинство знаний об окружающем мире можно выразить в виде процедур или последовательности действий, направленных на достижение конкретных целей» [18].

НУЖДА В ЕДИНОМ ЯЗЫКЕ ОЧЕНЬ ВЕЛИКА

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

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

В обоих случаях одна из причин этого негативного явления заключается в том, что сегодня нет подходящего формального языка. Языка, способного не только описать проблему и ее решение, но и обеспечить высокоэффективное интеллектуальное взаимопонимание и производственное взаимодействие между людьми. Это особенно важно при создании крупномасштабных проектов.
Нужда в таком языке весьма велика. Его отсутствие наносит заметный ущерб.
Изложенные соображения позволяют сделать два вывода:
    • создание универсального процедурного языка является осуществимой задачей;
    • искомый язык следует строить, в первую очередь, как язык формализации именно процедурных (а не декларативных) профессиональных знаний.


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

ПОЧЕМУ НЕЛЬЗЯ ЖИТЬ ПО-СТАРОМУ?

Информационная технология — основа всех современных интенсивных наукоемких технологий. Результирующая производительность труда в наукоемких, оборонных и иных отраслях в огромной степени зависит от правильного выбора информационной технологии, от эффективного взаимодействия специалистов народного хозяйства между собой и с вычислительной техникой.

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

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

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

Пункт 2.

Уважаемый ORG100H! Вернусь к Вашему вопросу: что можно предложить для двумерного представления структур данных?
Мне кажется, полезная (хотя и отчасти устаревшая) информация на этот счет содержится в следующих книгах:

    1. Martin J., McClure C. Diagramming Technique for Analysts and Programmers. N. J.: Prentice Hall, Inc., 1985.
    2. Martin J. Recommended Diagrammed Standards for Analysts and Programmers. N. J.: Prentice Hall, Inc., 1985.
    3. Martin J. Rapid Application Development. N.-Y.: Macmillan Publishing Co., 1991.

Другим источником полезных сведений является современная литература по СASE-технологиям. К сожалению, это все, что я могу сказать.

Александр Ильин Четверг, 20 Март, 2008 21:27

…Даже захотелось написать ДРАКОН-редактор для Оберона…

Ответ Паронджанова

Уважаемый Александр! Поддерживаю Вашу инициативу. Готов оказать всемерную помощь.

Илья Ермаков Четверг, 20 Март, 2008 22:25

А я позавчера получил заказанную книгу "Почему мудрец похож на обезьяну, или Парадоксальная энциклопедия современной мудрости". Книга очень интересная, советую другим. Прямо скажу, что из названия и краткой аннотации имел даже некоторое предубеждение. Однако оказалось наоборот, опасения не оправдались

Владимир Данилович, впечатления выскажу обязательно, частью тут - частью письмом! Но сначала дочитаю и осмыслю хорошенько + увяжу с некоторыми другими интересными вещами, с которыми разбирался недавно.

Ответ Паронджанова

Уважаемый Илья! Благодарю. С огромным интересом выслушаю Ваше мнение.

Конец Части 5. Конец ответов Паронджанова на вопросы и критические замечания участников форума «Визуальный язык программирования Дракон», представленные на 5-й странице форума.

Продолжение (Часть 6) последует примерно через 10 дней.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 27 Март, 2008 22:36 

Зарегистрирован: Вторник, 25 Март, 2008 23:04
Сообщения: 5
Откуда: Львів
Сергей Губанов писал(а):
Ihor писал(а):
Удобной будет двухмониторная система, на одном текст на другом соответственное графическое представление.

Боюсь что вы не поняли. Дракон - графический язык, его текстового представления нет.

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

Ярослав Романченко писал(а):
Сергей Губанов писал(а):
Боюсь что вы не поняли. Дракон - графический язык, его текстового представления нет.

Может имелся в виду текст Дракон-Си, Дракон-Модула, и т.д. представления...
Только вот, если трансляция Дракон=>Текст представляется мне довольно тривиальной задачей, то обратная задача Текст=>Дракон может быть довольно неоднозначной.

нет, разговор о текстовой записи Дракон-схемы (Дракон-1). Такая запись используется для трансляции в Си или в что-то другое.

Цитата:
задача Текст=>Дракон может быть довольно неоднозначной.

Примером для решения может послужить система TeX.


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 143
Откуда: Россия, Орёл
Ihor писал(а):
Цитата:
задача Текст=>Дракон может быть довольно неоднозначной.

Примером для решения может послужить система TeX.
Мне так не кажется.

1) Если Вы думаете над новым алгоритмом или меняете тот что есть, надо сразу видеть схему. Благодаря этому Ваше мышление ускорится (про что в книге все время твердится). А если Вы будете видеть текст, который если как в техе, то очень далек от того как будет выглядеть результат, мышление это будет тормозить настолько, что лучше просто писать программу на текстовом ЯП.
2) Графический редактор не даст Вам ввести некорректную схему. А в текстовом виде аля-тех...


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

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 53
...аналогичный текстовый редактор. Боюсь проблема не в этом. До сих пор не определено какие Дракон-схемы являются некорректными. Из описания языка это не следует. Точнее определяется дракон-редактором, которого у большинства нет. Спасибо.


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

Зарегистрирован: Среда, 05 Декабрь, 2007 16:07
Сообщения: 2
Владимир Паронджанов писал(а):
Потому что нельзя скрестить ужа с ежом и придумать разумный и полезный гибрид электрической схемы и географической карты .


Вообще-то это называется ГИС "Электросети" :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 28 Март, 2008 17:33 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 82
Откуда: Москва
Илья Ермаков писал(а):
Принцип разбиения алгоритма на мелкие подалгоритмы никак не связан с интерфейсами... Как и ряд других принципов, предназначенных для борьбы со сложностью задач. Мамонта нельзя скушать целиком, не подавившись. Его нужно резать на удобоваримые кусочки.

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


Правильная нарезка алгоритма должна основываться не на Вашем механистическом подходе "что в экран влезло". Такой PowerPoint подход хорош для легковесной маркетинговой презентации тупым "менеджерам", не способным удержать в поле зрения больше трех блоков блок-схемы. Схема из четырех блоков, конечно, выглядит приятнее, чем схема из 40 блоков, которая на самом деле соответствует действительности.

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

Теперь о количестве блоков, находящихся в поле зрения, точнее, в "мелком подалгоритме". Здесь важно не количество штук, а разнообразие. Человек вполне осилит и 50 однородных блоков, выполняющих одинаковые функции. Нарезать их на 10 экранов по пять штук нет никакого смысла. И вообще, не надо загонять программиста в прокрустово ложе без особой необходимости. Кто-то держит во внимании 5 объектов, а кто-то 30. Если какой-то алгоритм распух, то его позднее можно расчленить на несколько, но не надо же создавать искусственных трудностей программисту при добавлении новых блоков к алгоритму. Все-таки содержание важнее формы.


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

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

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


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

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 10
Откуда: Россия, Нижний Новгород
На сколько я понял в ДРАКОНе разрешается рисовать линии навроде такой (той, что нарисована красным цветом):
Вложение:
drakon1.png
drakon1.png [ 8.71 КБ | Просмотров: 15046 ]
Считаю это антиструктурным и абсолютно неприемлемым! По моему, в данном случае уместна только синяя линия -- вот она структурная. Доказательство очевидно.


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

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

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


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

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 10
Откуда: Россия, Нижний Новгород
Кстати, структурную линию обратной связи (ту что нарисована синим пунктиром) можно провести как слева так и справа. То есть структурные линии обратной связи симметричны относительно правостороннего или левостороннего пути вверх.


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

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 10
Откуда: Россия, Нижний Новгород
Илья Ермаков писал(а):
По-моему, было правило, что переход можно замкнуть только на свой же шампур.

А, ну значит я невнимательно читал.


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

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

Та красная стрелка не подходит под существующие макроиконы циклов.


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

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


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

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


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

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