ДРАКОН

Материал из Википедии — свободной энциклопедии
(перенаправлено с «ДРАКОН (язык программирования)»)
Перейти к навигации Перейти к поиску
ДРАКОН
Класс языка визуальный
Тип исполнения задаётся вторым языком, входящим в состав выбранного гибридного языка
Появился в 1996
Расширение файлов .drt, .drn
Система типов задаётся вторым языком, входящим в состав выбранного гибридного языка
Основные реализации ГРАФИТ-ФЛОКС (1996 год)[1], «ИС Дракон» (2008 год), DRAKON Editor (2011 год), DrakonHub (2018 год), Drakon.Tech (2019 год)
Испытал влияние ПРОЛ2[2], ДИПОЛЬ[2], ЛАКС[2]
Повлиял на QReal DSM platform[3]
Сайт drakon.su
Логотип Викисклада Медиафайлы на Викискладе

Дружелюбный русский алгоритмический язык, который обеспечивает наглядность (сокр. ДРАКОН) — визуальный алгоритмический язык программирования и моделирования[4] (см. также: UML).

Язык построен за счёт формализации и эргономизации блок-схем алгоритмов, описанных в ГОСТ 19.701-90 и ISO 5807-85.

Язык может быть использован для разработки программ реального времени[2].

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

На языке ДРАКОН можно писать программы для ЭВМ за счёт включения в себя функциональности и синтаксиса поддерживаемого ИС ДРАКОН или DRAKON Editor текстового языка программирования. При этом программа для ЭВМ, написанная таким образом, считается написанной на гибридном языке ДРАКОН-[название языка][5].

Программа, написанная на «чистом» языке ДРАКОН, является моделью поведения.

Хронология развития языка[править | править код]

ДРАКОН как часть космической программы «Буран» разрабатывался начиная с 1986 года при участии Министерства общего машиностроения СССР (Научно-производственный центр автоматики и приборостроения им. акад. Н. А. Пилюгина, Москва) и Академии наук СССР (Институт прикладной математики им. М. В. Келдыша)[4]. Работы по разработке языка были закончены в 1996 году (уже спустя 3 года после закрытия программы «Буран»), когда была создана автоматизированная система проектирования программных систем (CASE-технология) ГРАФИТ-ФЛОКС[6]. Эта технология эксплуатируется в международном проекте «Морской старт», разгонный блок «Фрегат»[1]; модернизированная ракета-носитель (РН) тяжёлого класса «Протон-М»; разгонный блок ДМ-SLБ[7] (проект «Наземный старт»); разгонный блок ДМ-03; первая ступень южнокорейской ракеты-носителя лёгкого класса KSLV-1 (Korean Space Launch Vehicle #1); РН лёгкого класса Ангара 1.2; РН тяжёлого класса Ангара-А5[8][K 1][9].

В результате ДРАКОН превратился в семейство языков моделирования:

  • Программа «ИС Дракон» поддерживает гибридные языки программирования Дракон-С, Дракон-Delphi, Дракон-, Дракон-ASM.
  • DRAKON Editor обеспечивает работу с гибридными языками Дракон-Java, Дракон-C#, Дракон-C, Дракон-Python, Дракон-Tcl, Дракон-Javascript, Дракон-Lua, Дракон-Erlang, Дракон-Verilog.
  • Дракон-Тех обеспечивает работу с гибридным языком Дракон-Javascript.

История создания[править | править код]

Разработка языков программирования для космического корабля «Буран»[править | править код]

Система управления советского орбитального корабля «Буран» управляет полётом корабля и его всеми бортовыми системами[10][11][12]. Головным мозгом Бурана служит Бортовой вычислительный комплекс[13]. Основным разработчиком бортового и наземного программного обеспечения системы управления Бурана являлся Научно-производственный центр автоматики и приборостроения имени академика Н. А. Пилюгина (далее — Пилюгинский центр)[14]. Для сложной системы управления «Бураном» потребовалось создать язык программирования высокого уровня, предназначенного для решения задач в реальном времени[15]. При разработке «Бурана» проблема разработки и тестирования программного обеспечения считалась одной из наиболее сложных[9], поэтому в 1983 году разработчики «Бурана» обратились в Институт прикладной математики с задачей разработки бортового программного обеспечения. По их оценкам, для этой работы требовалось несколько тысяч программистов, так как предполагалась экономия объёма памяти бортового компьютера "Бисер-4"за счёт использования ассемблера[16]. После ознакомления с задачей математики решили разработать проблемно-ориентированные языки, основанные на терминах, понятиях и форме представления алгоритмов управления и испытаний, используемых разработчиками корабля.

Разработка была выполнена небольшим коллективом программистов Института прикладной математики РАН за три года. Для разработки бортового программного обеспечения был создан специализированный язык реального времени ПРОЛ2 (руководитель авторского коллектива Виктор Крюков)[17][18] и базирующаяся на нём система автоматизации программирования и отладки САПО ПРОЛ2. Для разработки программного обеспечения наземных испытаний корабля был создан проблемно-ориентированный язык ДИПОЛЬ и базирующаяся на нём система автоматизации программирования и отладки (руководитель Владимир Луцикович)[19].

В Пилюгинском центре под руководством Константина Фёдорова был создан язык ЛАКС для моделирования.

Идеи и требования, заложенные в ДРАКОН[править | править код]

В 1986 году начальник комплексного отделения Юрий Трунов (впоследствии ставший Генеральным конструктор Пилюгинского центра)[20] предложил создать универсальный язык, способный собой заменить ПРОЛ2, ДИПОЛЬ и ЛАКС из-за их узкой специализации. Было решено, создать язык, выходящих за рамки традиционного программирования[21], например сглаживание человеческого фактора.

В связи с этим при создании языка ДРАКОН были выдвинуты необычные для программистов и математиков требования гуманитарного характера:

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

Разработка и использование языка ДРАКОН и его инструментальных средств для ракет-носителей и разгонных блоков космических аппаратов[править | править код]

Разработка языка ДРАКОН началась в 1986 году. Через 11 лет на базе ДРАКОНа была построена автоматизированная Технология разработки алгоритмов и программ (CASE-технология) под названием «ГРАФИТ-ФЛОКС»[9]. С их помощью были разработаны алгоритмы и программы разгонного блока ДМ-SL международного проекта «Морской старт». В общей сложности на разработку и отработку программного обеспечения и других элементов системы управления ушло три года. К 1999 году все работы были закончены.

Первый пуск с комплекса «Морской старт» состоялся 28 марта 1999 года со стартовой платформы «Одиссей» в Тихом океане в районе островов Кирибати[23]. Позже по программе «Морской старт» было проведено свыше 30 ракетных пусков[24].

Поскольку результаты использования ДРАКОНа были стабильно высокими, руководство Пилюгинского центра приняло решение об использовании ДРАКОН-технологии и в последующих проектах[9][25].

Разработка инструментальных средств языка ДРАКОН для широкого применения[править | править код]

Генерация последовательности Фибоначчи на гибридном языке ДРАКОН-Си[K 2].
ДРАКОН-схема алгоритма поиска A*[K 3].

На начальном этапе развития информация о ДРАКОНе была недоступна для пользователей, так как работы по ракетно-космическим программам и, в частности, по космической программе Буран были строго засекречены как составляющие государственную тайну[K 4][K 5]. В тот период область применения ДРАКОНа была ограничена ракетно-космической техникой.[28]

В результате политики гласности и рассекречивания ранее закрытых сведений о проектах, появилась возможность приспособить инструментальные средства языка ДРАКОН для гражданских нужд широкого применения на персональных компьютерах. Сфера применения языка стала постепенно выходить за рамками ракетно-космической техники[29] (недоступная ссылка с 04-06-2016 [2853 дня]), например для решения задач в предметных областях и отраслях экономики. В открытой литературе стали доступны публикации по языку ДРАКОН[30]. Часть этих материалов появилась в Интернете в конце 2006 года[31].

Аналоги ДРАКОНа и его составных частей[править | править код]

Близким аналогом семейства языков ДРАКОН является «R-технология производства программ, или технология двумерного программирования», созданная в Институте кибернетики имени В. М. Глушкова, причём графика дракон-схем в ДРАКОН-семействе служит аналогом графики Р-схем в R-технологии[источник не указан 2846 дней]. В технологическом комплексе программиста RТК[32] принцип обработки информации в компьютере подразумевает деление на R-машину[33], R-язык[34] и R-технологию[35]. ДРАКОН использует тот же принцип, выраженный с помощью другого понятийного аппарата.

Аналогом дракон-схем (как алгоритмического языка моделирования) являются диаграммы поведения языка UML: диаграмма деятельности (activity diagram)[36], диаграмма состояний (UML state machine)[37] и некоторые диаграммы взаимодействия, например, диаграмма синхронизации (timing diagram)[38].

Более фундаментальными аналогами дракон-схем являются собственно блок-схема, диаграмма Насси-Шнейдермана, псевдокод (язык описания алгоритмов) и др.

  • Следует отметить: в отличие от блок-схем, дракон-схемы имеют средства для описания работы в реальном времени[38].

Философия языка (понятность алгоритмов и программ)[править | править код]

Основной задачей разработчиков было создание единого универсального языка программирования и моделирования, который своей доступностью и мощностью способен заменить специализированные языки (как-то ПРОЛ2[39] (для разработки бортовых комплексных программ Бурана), ДИПОЛЬ[39] (для создания наземных программ Бурана) и ЛАКС (для моделирования)).

На втором этапе разработки была предложена концепция гибридных языков программирования. В рамках этой концепции созданы инструментальные средства языка ДРАКОН для гражданских нужд широкого применения в несекретном варианте. Так появилась интегрированная среда разработки алгоритмов и программ под названием «ИС Дракон».[источник не указан 1328 дней]

Понятность алгоритмов и программ[править | править код]

Схемы и алгоритмы, разработанные с помощью этого языка, просты и понятны любому человеку, далёкому от программирования[29]. По мнению доктора технических наук О. Г. Григорьева, доктора технических наук Г. Д. Волковой и других специалистов,

Основными достоинствами языка ДРАКОН являются: универсальность языка, пригодность для решения широкого круга разноплановых интеллектуальных задач; сочетание строгой логико-математической формализации с точным учётом когнитивных (познавательных) характеристик человека; пригодность дракон-схем для автоматического получения программного кода; наглядность и регулярность структуры представления описываемых процессов; простота в освоении и применении; лёгкость понимания представления решения. К недостаткам языка относятся: малая известность языка среди разработчиков автоматизированных систем; сложность интеграции схем и т. д.[40]

По мнению некоторых специалистов, основными критериями качества программы являются понимаемость (читаемость), сопровождаемость и надёжность (корректность)[41]. Эффективным средством для улучшения понимаемость алгоритмов является визуализация программирования[42][43][44][45].

Основным требованием к визуальному языку ДРАКОН является упрощение визуального восприятия алгоритмов.

Философия «программирование без программистов». Особенности подхода.[править | править код]

По мнению создателя языка:

ДРАКОН — лёгкий язык. Настолько лёгкий, что разработку многих компьютерных программ для космических ракет на практике ведут не программисты, а инженеры — по принципу «программирование без программистов»[46][K 6]. Причина частичного отказа от программистов проста. При решении практических прикладных задач инженеры досконально владеют материалом и прекрасно знают постановку задачи. В отличие от них программисты не знают физику процесса и становятся «лишними людьми», без которых в ряде случаев (хотя и не всегда) вполне можно обойтись[48][K 7].

По мнению специалистов, благодаря использованию дракон-схем алгоритмы и программы становятся более понятными, доходчивыми, ясными, прозрачными[49][50][51]. Иными словами, за счёт упора на визуальную составляющую, ДРАКОН резко снижает порог требований к программисту и упрощает чтение программы. Это происходит за счёт того, что структура программы описана блок-схемой (если быть точным, то дракон-схемой, она же на английском drakon-chart вместо flowchart), в то время как на письменном языке расписано наполнение программы.

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

Описанным выше способом предполагалось реализовать язык программирования, который бы работник умственного труда (в частности проектировщик, инженер аэрокосмической промышленности), мог бы использовать, чтобы лично создавать программу, не тратя большое время на овладение искусством программирования (и не рискуя спрятать ошибку во всём дорогостоящем проекте, допустив критическую неточность в техзадании, порученному специально приглашённому программисту). Более того, подобный подход может способствовать привитию культуры программирования, которая поощряет использование готовых стандартизированных наработок в виде готовых элементов программ (code snippets), имеющих подходящую лицензию.

* Облегчение чтения программы, скорее всего, происходит за счёт того, что при чтении ДРАКОН-схемы мозг читателя автоматически производит разделение труда, а именно, делегирует распознавание «узора» (то есть собственно схемы программы) зрительному отделу мозга, уменьшая объём работы для анализа текстовой информации. Вышеуказанный способ, предположительно, позволяет расширить ограничения «кошелька Миллера» за счёт, по сути, использования двух отдельных «кошельков» памяти одновременно. Альтернативное мнение: узор участка программы ДРАКОН отражается в памяти как отдельная единица, занимая в «кошельке Миллера» кратковременной памяти меньше объёма.[источник не указан 1328 дней]

Критика[править | править код]

  • Критика визуального программирования, связанная с ДРАКОНом в первую очередь, состоит в том, что при небрежности программирования или крайней неудачности алгоритма или сочетании обеих проблем можно столкнуться с резким падением удобства/скорости чтения программы. При разработке ДРАКОН для борьбы с подобными ситуациями был выработан специальный стиль составления дракон-схем, включающий в себя приёмы повышения читаемости выведенной на экран или бумагу программы (см. ниже)
  • Особая критика «чистого» ДРАКОН-программирования состоит в следующем: ДРАКОН, в отличие от таких языков визуального программирования, как упомянутых в данной статье P-схем, изначально, по своей философии, создан таким, что программирование на нём тождественно составлению блок-схем по специальным правилам (см. раздел Нотация для моделирования потоков работ); в данном случае таким, которые бы облегчали чтение программы. Поэтому, для расширения функциональности конечной программы ДРАКОН позволяет пользоваться участками кода на текстовом языке внутри тела программы, внутри дракон-схемы, как правило, только одном и заранее известном. Сочетание ДРАКОНа с текстовым языком зовётся гибридным языком и несёт название вроде ДРАКОН-C++, ДРАКОН-Pascal, ДРАКОН-Delphi, где текстовый язык в названии упоминается после дефиса, а название визуального — до.
    • Подобная квазипарадигма (или правило/пожелание всем участникам проекта) существует в мире Linux/GNU, где большое количество внимания уделено отдельным программам, каждая из которых делает только одну функцию, но при том уделяется внимание к тому, чтобы программа выполняла эту функцию максимально хорошо.

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

Целевые аудитории языка[править | править код]

Язык ДРАКОН выполняет две принципиально разные функции.

  • Для лиц, не являющихся программистами, язык создан быть средством повышения эффективности интеллектуального труда при описании процессов и разработке алгоритмов, а именно, с помощью дракон-схем, заполненных текстом на профессиональном языке специалистов-непрограммистов (например, медиков, чему посвящён отдельный раздел).
В этом качестве ДРАКОН не имеет отношения к программированию: он позволяет создавать наглядную и безальтернативно читаемую схему какого-либо алгоритма чего-либо. В этом качестве ДРАКОН хорош тем, что при использовании цветового выделения нужных элементов дракон-схемы он легче позволяет придать алгоритму акцентирование внимания на определённых участках алгоритма.
  • Вторая функция состоит в том, что для программистов ДРАКОН служит языком программирования, имеющим свои инструменты для взаимодействия с компьютерами, а также другими языками программирования (как-то компиляция из ДРАКОН в TCL, С, C++ и др.: на сайте drakon.su имеется описание сочетания языка ДРАКОН с другими языками программирования).

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

Особенности языка: Двумерное структурное программирование[править | править код]

Императивная (процедурная) часть языка ДРАКОН опирается на новую парадигму программирования — двумерное (графическое) структурное программирование[53][54]. Идеи классического структурного программирования разрабатывались, когда компьютерная графика фактически ещё не существовала и основным инструментом алгоритмиста и программиста был одномерный (линейный или ступенчатый) текст.

Правила двумерного структурного программирования существенно отличаются от классического одномерного (текстового) структурного программирования[53]. До появления компьютерной графики методология классического структурного программирования была наилучшим решением.

Первый шаг: Р-технология программирования[править | править код]

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

Графическая система Р-технологии программирования закреплена в стандартах ГОСТ 19.005-85[58], ГОСТ Р ИСО/МЭК 8631—94[59] и международном стандарте ISО 8631Н.

Причины создания языка ДРАКОН[править | править код]

С появлением компьютерной графики ситуация изменилась. Используя выразительные средства графики, появилась возможность видоизменить, развить и дополнить три базовые (текстовые) управляющие конструкции (последовательность, ветвление, цикл), а также полностью отказаться от ключевых слов if, then, else, case, switch, break, while, do, repeat, until, for, foreach, continue, loop, exit, when, last и т. д. и заменить их на управляющую графику, то есть использовать двумерное структурное программирование[53][54].

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

Недопустимо запрещать правильный процесс мышления. Его надо разрешить. Шампур-метод и язык ДРАКОН устраняют этот недостаток[K 8].

При использовании шампур-метода набор управляющих ключевых слов (идентификаторов) текстового структурного программирования становится ненужным. При визуальном структурном подходе программист работает только с чертежом программы (дракон-схемой), не обращаясь к её текстовому представлению. Точно так же программист, работающий, например, на Дельфи, не обращается к ассемблеру и машинному коду — они для него просто не существуют. Во многих случаях (список которых ещё предстоит уточнить) желательно отказаться от текстовых управляющих структур, заменив их управляющей графикой[K 9].

Фактически, ДРАКОН — это не просто новый язык (новое семейство языков), а новый взгляд на императивное (процедурное) программирование и новое мировоззрение[K 10]. Наибольшую трудность в течение длительного времени представляли математика и эргономика блок-схем. Нужно было создать математически строгий метод формализации блок-схем, позволяющий превратить блок-схемы в программу, пригодную для ввода в компьютер и трансляции в объектный модуль программы. При создании языка ДРАКОН эта задача была решена с помощью визуального логического исчисления (исчисления икон)[2][62], которое лежит в основе графического синтаксиса языка ДРАКОН[63]; метода Ашкрофта-Манны[64], который является математическим обоснованием дракон-схемы «силуэт»; двумерного структурного программирования[65]. Одновременно была решена задача эргономизации блок-схем, то есть задача приспособления блок-схем для наиболее удобного человеческого восприятия и понимания[66][K 11].

Графический и текстовый синтаксис языка ДРАКОН[править | править код]

ДРАКОН — графический (визуальный) язык, в котором используются два типа элементов:

  • графические фигуры (icons, они же иконы, они же представленные в виде окружающих текстовые части программы (см. также: Картуш) геометрических фигур операторы языка);
  • текстовые надписи, расположенные внутри или снаружи икон (текстоэлементы)[49][68].

Поэтому язык ДРАКОН имеет не один, а два синтаксиса: графический и текстовый. Графический (визуальный) синтаксис охватывает алфавит икон, правила их размещения в поле чертежа и правила связи икон с помощью соединительных линий. Текстовый синтаксис задаёт алфавит символов, правила их комбинирования и привязку к иконам (привязка необходима потому, что внутри разных икон используются разные типы выражений)[69][51].

Нотация для моделирования потоков работ[править | править код]

По мнению доктора технических наук профессора Александра Потий и др., использование дракон-схем в качестве нотации для моделирования потоков работ (workflows) позволяет избежать недостатков, присущих традиционным нотациям описания процесса, например, IDEF3[70]. Основой дракон-схемы является чертёж, предназначенный быть простым и понятным, который обеспечивает более высокую продуктивность мозга за счёт «симультанизации»[71] зрительного восприятия чертежа.

Симультанизация означает увеличение скорости работы мозга при переходе от сукцессивного восприятия текста (медленный приём детальной информации с помощью центрального зрения (central vision)) к быстрому симультанному восприятию чертежа (быстрый панорамный приём обзорной информации с помощью периферийного зрения (peripheral vision))[70], то есть восприятию имеющейся структуры программы той же структурой мозга, которая распознаёт фигуры и узоры. Благодаря использованию специальных формальных и неформальных когнитивных приёмов нотация drakon-chart даёт возможность изобразить любой, даже очень сложный процесс в ясной и доходчивой форме. Такая форма позволяет значительно сократить интеллектуальные усилия эксперта, необходимые для зрительного восприятия, понимания, верификации и безошибочного принятия решения относительно степени соответствия характеристик процесса заданным требованиям[70]. Иными словами, блок-схемы, выполненные по инструкциям к ДРАКОНу, используют приёмы графического дизайна как готовый способ облегчения восприятия информации, содержащейся в программе, а именно, позволяет охватить всю структуру программы, прилагая малое количество внимания (не предъявляя требований к en:Attention span имеющего дело с программой человека и не занимая его внимание долгое время).

Гибридизация ДРАКОН с другими языками программирования[править | править код]

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

Строгое разграничение графического и текстового синтаксиса позволяет в максимальной степени расширить сферу применения языков семейства, обеспечивая гибкость и универсальность выразительных средств языка[72]: текстовые скрипты, уже созданные на совместимом текстовом языке программирования не зависят от действий, совершаемых программированием на визуальном ДРАКОНЕ. При этом единообразие правил графического синтаксиса семейства ДРАКОН-языков обеспечивает их концептуальное единство. Разнообразие текстовых правил (то есть возможность выбора любого текстового синтаксиса), в свою очередь, определяет гибкость языка и лёгкую настройку на различные предметные и иные области[69][73].

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

Гибридные языки ДРАКОН-семейства[править | править код]

Алгоритм быстрой сортировки на гибридном языке ДРАКОН-Си

Императивную (процедурную) часть языка Дракон можно присоединить к некоторым языкам программирования и получить так называемые гибридные языки[69]:

  • язык Дракон + язык Си = гибридный язык Дракон-Си
  • язык Дракон + язык Java = гибридный язык Дракон-Java

Точно так же можно построить языки Дракон-C#, Дракон-Python, Дракон-Tcl, Дракон-Erlang и другие. При создании гибридного языка Дракон-Си необходимо, в частности, создать транслятор из дракон-схемы в исходный код языка Си. В этом случае Си является целевым языком[74].

При использовании гибридных языков исходным текстом программы считается дракон-схема и только она. При отладке программы не следует вносить исправления в промежуточные файлы на целевых языках, например, в Си-файлы; все исправления нужно вносить в исходный код, то есть в дракон-схему[75][76][77].

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

Описанный порядок работ используется, когда объём программы сравнительно небольшой. Если же программа большая (что имеет место при разработке программного обеспечения для системы управления ракет-носителей или разгонных блоков космических аппаратов), используется Технология разработки алгоритмов и программ ГРАФИТ-ФЛОКС[источник не указан 2846 дней].

Понятность дракон-схем[править | править код]

Как и все прочие языки, ДРАКОН опирается на математику и логику. Однако кроме того, он учитывает когнитивные вопросы[K 12]. Благодаря использованию формальных и неформальных когнитивных приёмов дракон-схемы позволяют изобразить решение любой, сколь угодно сложной процедурной проблемы в предельно ясной, наглядной и доходчивой форме[4]. Это даёт возможность значительно сократить интеллектуальные усилия персонала, необходимые для зрительного восприятия, понимания, верификации и безошибочного решения проблем[4]. А также улучшить понимаемость алгоритмов и программ[49] читающим их человеком. В основе языка ДРАКОН лежит идея когнитивной формализации знаний, позволяющая сочетать строгость логико-математической формализации с точным учётом когнитивных (познавательных) характеристик человека[78][79].

С точки зрения человеческого фактора, исторический процесс развития языков программирования сопровождается улучшением понятности алгоритмов и программ, повышением производительности труда программистов. На первом этапе произошёл переход от машинных кодов к автокодам и ассемблерам. Затем появились языки высокого уровня, которые (по сравнению с ассемблером) сделали исходный текст программы более понятным и удобным для человека и значительно увеличили производительность труда программистов. В современных условиях качественная программа должна обладать, помимо надёжности и эффективности, ещё и таким важнейшим качеством как понимаемость[80]. Для улучшения понятности можно использовать сочетание некоторых языков высокого уровня с языком ДРАКОН, которые вместе образуют, так называемые, «гибридные языки ДРАКОНа»: Дракон-Delphi, Дракон-1С, Дракон-ASM, Дракон-Oberon, Дракон-Java, Дракон-C#, Дракон-C, Дракон-Python, Дракон-Tcl, Дракон-Javascript, Дракон-Lua, Дракон-Erlang. При этом функция исходного кода программы переходит к дракон-схемам. Это позволяет отказаться от текстовых управляющих структур, используемых в языках высокого уровня, и заменить их на управляющую графику ДРАКОНа. Исходный код программы становится более понятным и удобным для человека, увеличивается производительность труда программистов[81][82][83].

Алфавит графических единиц языка ДРАКОН[править | править код]

Иконы языка ДРАКОН
Макроиконы языка ДРАКОН

Основой графического синтаксиса языка ДРАКОН является графический алфавит. Алфавит состоит из графических элементов (графических фигур), которые называются иконами.

В языке ДРАКОН имеется 27 икон (см. рисунок).

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

Стрелки в дракон-схемах используются крайне редко — только для обозначения некоторых типов цикла. Благодаря отсутствию стрелок дракон-схемы становятся более лаконичными.

  • В циклах ДЛЯ (for и foreach), а также в веточных циклах стрелки никогда не используются.

Отсутствие стрелок, минимизация изломов линий, запрет на использование пересечений, отсутствие внутренних соединителей (предназначенных для того, чтобы избежать пересечения соединительных линий), соблюдение специальных математических и эргономичных правил (правило шампура, правило главного маршрута, правило побочных маршрутов, правило рокировки и т. д.) и ряд других особенностей — всё это в совокупности обеспечивает повышение качества дракон-схем. Именно поэтому некоторые авторы характеризуют или отождествляют дракон-схемы как «правильно составленные блок-схемы»[42][84][85][86].

ДРАКОН имеет не только иконы, но и макроиконы. Макроиконы — это графические слова языка ДРАКОН. Подобно тому, как слова слагаются из букв, макроиконы (графические слова) состоят из икон (графических букв). В языке ДРАКОН имеется 21 макроикона (см. рисунок). Иконы и макроиконы — это строительные блоки, из которых создаются дракон-схемы.

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

Правильно построенная блок-схема[править | править код]

Дракон-схема — это блок-схема с точно определёнными свойствами. В этом разделе дан сравнительный анализ свойств и показано, что дракон-схема является правильно составленной блок-схемой.

Блок-схема: достоинства и недостатки[править | править код]

Блок-схемы популярны[уточнить], так как они графически отображают логику программы с помощью стандартных геометрических фигур и соединительных линий[87][неавторитетный источник]. Они представляют собой «интуитивно понятный метод представления управляющей последовательности алгоритма»[87].

Вместе с тем, блок-схемы подвергаются критике. Противники блок-схем утверждают, что они не поддаются формализации, поэтому их «нельзя использовать как программу для непосредственного ввода в машину»[88]. Блок-схемы не согласуются со структурным программированием, поскольку в значительной степени ориентированы на использование goto[89]. Блок-схемы широко использовались в течение ряда лет, однако сейчас их популярность падает; они «затемняют особенности программ, созданных по правилам структурного программирования»[90].

При достаточно большой степени детализации блок-схемы становятся «громоздкими и теряют своё основное достоинство — наглядность структуры алгоритма»[91]. Обозримыми и понятными являются блок-схемы только для небольших алгоритмов[92]. Доктор технических наук профессор Михаил Лекарев полагает, что если для простой задачи блок-схемы алгоритмов обеспечивают безусловную наглядность, то с ростом сложности ситуация меняется на противоположную: логическая структура алгоритма становится трудной для восприятия и исчезает, превращаясь в «клубок спагетти»[93][94].

Блок-схемы продолжают оставаться самой известной нотацией для записи алгоритмов[92][неавторитетный источник]. Однако сегодня эта нотация для программистов «утратила свою актуальность»[92]. Основной недостаток блок-схем заключается в том, что они не приучают к аккуратности при разработке алгоритма. Ромб можно поставить в любом месте блок-схемы, а от него повести выходы на какие угодно участки. «Так можно быстро превратить программу в запутанный лабиринт, разобраться в котором через некоторое время не сможет даже сам её автор»[95].

Дракон-схема — это упорядоченная блок-схема[править | править код]

Пример блок-схемы алгоритма на языке ДРАКОН — дракон-схемы

Блок-схемы не позволяют изображать сложные алгоритмы с необходимой полнотой и наглядностью. Чтобы устранить недостатки, нужно упорядочить блок-схемы. Упорядоченные блок-схемы (в данном случае drakoncharts или дракон-схемы) подчиняются строгим формальным правилам[96] и правилам эргономичных алгоритмов[97].

В отличие от классических блок-схем, упорядоченные дракон-схемы пригодны для формализованной записи и автоматического получения исполняемого кода[42]. Запрещено пересечение линий, которое путает читателей и затрудняет понимание алгоритма, удалены другие недочёты. Дракон-схемы позволяют ликвидировать или существенно ослабить недостатки блок-схем[42].

Упорядоченные блок-схемы специально сконструированы таким образом, чтобы превратить сложный алгоритм в удобную схему, обеспечивающую быстрое и лёгкое понимание[98]. По мнению специалистов, благодаря использованию дракон-схем алгоритмы становятся более понятными, доходчивыми, ясными, прозрачными[49][50][51]. Эргономичные методы, применяемые в дракон-схемах, существенно улучшают восприятие алгоритмов[99]. Язык упорядоченных блок-схем обеспечивает разработку сложных алгоритмов с сохранением наглядности даже для многостраничных схем[100][101].

Имеются медицинские учебники, в которых используются наглядные графические инструкции для медицинского персонала, написанные в виде упорядоченных блок-схем на языке ДРАКОН[102][103][104][105].

Рекомендации Эдсгера Дейкстры по совершенствованию блок-схем[править | править код]

В классической работе «Заметки по структурному программированию» Эдсгер Дейкстра использовал блок-схемы для анализа структуры программ и предложил четыре принципа структуризации блок-схем:

  1. Принцип ограничения топологии блок-схем. Структурная программа должна приводить «к ограничению топологии блок-схем по сравнению с различными блок-схемами, которые могут быть получены, если разрешить проведение стрелок из любого блока в любой другой блок. Отказавшись от большого разнообразия блок-схем и ограничившись данными тремя типами операторов управления [следование, ветвление, цикл], мы следуем тем самым некоей последовательностной дисциплине»[106].
  2. Принцип вертикальной ориентации входов и выходов блок-схем. Имея в виду шесть типовых блок-схем (if-do, if-then-else, case-of, while-do, repeat-until), Дейкстра пишет: «Общее свойство всех этих блок-схем состоит в том, что у каждой из них один вход вверху и один выход внизу»[107].
  3. Принцип единой вертикали. Вход и выход каждой типовой блок-схемы должны лежать на одной вертикали[K 13].
  4. Принцип нанизывания блок-схем на единую вертикаль. Типовые блок-схемы следует соединять между собой, не допуская изломов соединительных линий, чтобы выход верхней и вход нижней блок-схемы лежали на одной вертикали[K 14].

Обычная практика разработки и вычерчивания блок-схем не учитывает рекомендации Дейкстры. Это объясняется тем, что принципы Дейкстры не получили своего закрепления в стандартах на блок-схемы — международном стандарте ISO 5807:85 и ГОСТ 19.701—90.

Рекомендации Эдсгера Дейкстры очень важны, так как они открывают путь к совершенствованию блок-схем, делают их более удобными и наглядными. Дракон-схемы — это усовершенствованные блок-схемы, построенные на основе принципов Дейкстры[109]. Принципы необходимы потому, что они позволяют осуществить структуризацию и формализацию схем программ.

Идея ограничения топологии схем программ с целью их лучшей структуризации и формализации лежит в основе визуального языка программирования ДРАКОН и построенного на его основе шампур-метода как абстрактной визуальной модели программы[110].

Дракон-схемы есть не что иное, как правильно составленные блок-схемы[84]. Язык ДРАКОН строится на основе блок-схем с целью их улучшения[111]. Использование эргономичных правил ДРАКОНа позволяет упорядочить графический чертёж алгоритма и обеспечить более эффективное восприятие блок-схемы человеком[112].

Методы проектирования, ориентированные на дракон-схемы, позволяют преодолеть алгоритмическую сложность[69]. Существенно, что усовершенствованные блок-схемы, построенные по правилам языка ДРАКОН, обеспечивают разработку сложных алгоритмов «с сохранением наглядности даже для многостраничных схем»[100]. По мнению некоторых учёных, хотя стандарты на блок-схемы считаются действующими, фактически они давно устарели. С появлением дракон-схем блок-схемы потеряли своё значение, так как они во всех отношениях уступают дракон-схемам[113]. Для построения блок-схем наиболее рационально использовать алгоритмический язык ДРАКОН[85].

Для обозначения блок-схем, построенных по правилам языка ДРАКОН, используется термин «дракон-схемы»[42]. Дракон-схема — это упорядоченная и усовершенствованная на основании принципов Дейкстры блок-схема.

По своей концепции же ДРАКОН был создан как способ сделать тождественной блок-схему программы и готовый к компиляции исходный код программы

То есть: подобный подход резко снижал время, требуемое на подготовку инженера к овладению программированием, практически устраняя «порог вхождения» для работы с программой. Иными словами, ДРАКОН задуман как язык, имеющим одновременно высокую мощь, лёгок в освоении и имеющий низкий порог требований к программисту (низкий «порог вхождения»)

Отзывы касательно дракон-схем[править | править код]

ДРАКОН — это эргономичный стандарт для графического представления учебной информации. Язык ДРАКОН учит методистов и учителей правильному составлению блок-схем[114].

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

Блок-схемы, нарисованные по правилам языка ДРАКОН, отличаются чёткостью, наглядностью и прозрачностью структуры. А наглядность и доходчивость алгоритмов — это именно то, чего так остро недостаёт школьным учебникам[115].

При разработке единого стандарта на блок-схемы, снабжённого компьютерной поддержкой и рассчитанного на «постепенное внедрение во всех отраслях и предметных областях, целесообразно взять за основу язык ДРАКОН»[116].

Примеры правильно построенных блок-схем[править | править код]

Этот раздел описывает особенности для блок-схем, удовлетворяющих требованиям языка ДРАКОН, позволяющих называть их дракон-схемами.

Развилка[править | править код]

Оператор ветвления на дракон-схеме

На рисунке (справа) показана дракон-схема «развилка» — графический оператор ветвления с двумя ветвями. Икона «вопрос» имеет один вход сверху и два выхода: вниз и вправо. Выход влево (в отличие от блок-схем) запрещён и никогда не используется[117]. У остальных икон входы и выходы ориентированы строго по вертикали. Благодаря продуманной графической дисциплине в языке ДРАКОН применяются правила, облегчающие понимание смысла алгоритма и обеспечивающие быстрое восприятие читателем алгоритма в целом[118].

В дракон-схеме маршруты алгоритма следует рисовать не хаотично, а упорядоченно — по принципу «Чем правее — тем хуже»; чем правее расположен маршрут, тем более неприятную ситуацию он описывает. На рисунке (справа) два маршрута. Они соответствуют двум ситуациям. Если нет дождя — это хорошо, если дождь идёт — плохо. Главный маршрут алгоритма (основная ветвь программы) идёт по левой вертикали (по шампуру), демонстрируя, что всё хорошо. Переход вправо (на правую вертикаль) описывает нежелательную ситуацию, потому что неприятно гулять под дождём.

Правило «Чем правее, тем хуже» — одно из многих правил, которые в совокупности значительно облегчают чтение, понимание, анализ и разработку сложных алгоритмов[119].

Цикл ДО (do-while)[править | править код]

Оператор «Цикл ДО» на дракон-схеме

На рисунке (справа) показана дракон-схема «Цикл ДО» — графический оператор do-while. Спортсмен или культурист, чтобы накачать мускулатуру, поднимает штангу до тех пор, пока не устанет. Если устал, тренировка прекращается.

В цикле ДО сначала выполняется действие (Подними вес) и только после этого задаётся вопрос (Устал?).

Икона «вопрос» изображается так же, как и в предыдущем случае. Она имеет один вход сверху и два выхода: вниз и вправо. Выход влево запрещён.

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

Иллюстрация справа демонстрирует не программу и не поток управления (control flow), а поток работ (workflow). Язык ДРАКОН позволяет единообразно описывать потоки управления и потоки работ, используя единый набор графических операторов. Суть в том, что ДРАКОН является не только языком программирования, но и языком описания бизнес-процессов, учебным языком для изучения медицинских алгоритмов и т. д.

Цикл ПОКА (while)[править | править код]

Оператор «Цикл ПОКА» на дракон-схеме

На рисунке (справа) показана дракон-схема «Цикл ПОКА» — графический оператор while. Человек проголодался, но дома нет ничего, кроме котлет. Он ест одну котлету за другой, пока не насытится.

В цикле ПОКА сначала задаётся вопрос (Голодный?) и только после этого выполняется (или не выполняется) действие (Съешь котлетку). В самом деле, если человек с самого начала не голоден, он обедать не станет. На рисунке отказ от еды изображён так. Если перед обедом на вопрос «Голодный?» получен отрицательный ответ, значит, из иконы «Вопрос» выходим вниз через Нет и действие «Съешь котлетку» ни разу не выполняется.

Рассмотрим три последних примера. Все они нарисованы единообразно — во всех схемах начало и конец расположены на одной вертикали (на шампуре), причём эта вертикаль не имеет разрывов и изломов. Подобное единообразие содействует стандартизации дракон-схем и облегчает их запоминание.

Ориентация входных и выходных линий графических фигур[править | править код]

Ещё одно отличие дракон-схем от блок-схем состоит в том, что ориентация входных и выходных линий графоэлементов (икон) в дракон-схемах задана однозначно, а в блок-схемах — неоднозначно. Например, в блок-схемах входную линию можно подводить к графическому блоку (символу) не одним, а двумя разными способами — не только сверху, но и слева. Выходную линию можно присоединять к блоку (символу) не одним, а тремя способами — не только внизу, но и справа[K 15] и даже слева[K 16].

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

Анимация ДРАКОН-алгоритма «силуэт»[править | править код]

Иллюстрация внизу демонстрирует работу алгоритмической конструкции силуэт в динамике с помощью анимации. Анимация показывает перемещение рабочей точки дракон-алгоритма от начала до конца с учётом работы циклов.

Алгоритм «Рыбная ловля» (Fishing) состоит из четырёх веток:

  • Подготовка к ловле (Preparing for fishing).
  • Ожидание клёва (Waiting for a bite).
  • Рыбацкая работа (Fishing work).
  • Обратная дорога (Way back).

Главный маршрут каждой ветки показан с помощью жирной линии, которая называется шампур. Каждый маршрут от иконы Заголовок «Fishing» до иконы Конец осуществляется с помощью непрерывной линии, не имеющей разрывов. Анимация показывает, что любой человек может провести по маршруту пальцем или указкой, не отрывая палец от бумаги или экрана.

Это означает, что в силуэте граф потока управления всегда имеет путь между входной вершиной графа (иконой Заголовок) и любой вершиной (узлом) графа потока управления. Следовательно, силуэт не может иметь «мёртвого кода» (недостижимых вершин) графа потока управления.

DRAKON algorithm execution is animated by highlighting diagram elements in the running order.
DRAKON algorithm execution is animated by highlighting diagram elements in the running order.

Автоматное программирование на языке ДРАКОН[править | править код]

Дракон-схема силуэт представляет собой конечный автомат. Ветки силуэта можно трактовать как состояния автомата. По этой причине язык ДРАКОН позволяет реализовать автоматное программирование.

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

Применение языка ДРАКОН в медицине[править | править код]

Введение[править | править код]

Первая помощь при химическом ожоге глаз жидкостью — медицинский алгоритм на языке ДРАКОН[122]

Медицинские алгоритмы используются во врачебной практике и медицинских исследованиях в текстовой и графической форме. Графическое представление медицинских алгоритмов в виде блок-схем и дракон-схем используется для наглядного изображения действий медицинского персонала и процессов, протекающих в организме пациента[123][124][125].

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

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

Упорядоченные медицинские блок-схемы[править | править код]

Со временем выяснилось, что блок-схемы не позволяют изображать сложные алгоритмы с необходимой полнотой и наглядностью. Недостаток блок-схем состоит в том, что при большой степени детализации они становятся громоздкими и теряют своё основное достоинство — наглядность структуры алгоритма[132]. Кроме того, блок-схемы не приучают к аккуратности при описании алгоритма[95]. Ромб можно поставить в любом месте блок-схемы, а от него повести выходы на какие угодно участки. Так можно быстро превратить алгоритм в запутанный лабиринт, разобраться в котором через некоторое время не сможет даже сам его автор[95].

Возникла необходимость устранить отмеченные недостатки и упорядочить блок-схемы. Упорядоченные блок-схемы (дракон-схемы) подчиняются строгим формальным правилам[96] и правилам эргономичных алгоритмов[49]. Запрещено пересечение линий, которое путает читателей и затрудняет понимание алгоритма. Дракон-схемы позволяют ликвидировать или существенно ослабить недостатки блок-схем[42]. Упорядоченные блок-схемы специально сконструированы таким образом, чтобы превратить сложный алгоритм в удобную схему, обеспечивающую быстрое и лёгкое понимание[98]. Эргономичные методы, применяемые в дракон-схемах, существенно улучшают восприятие алгоритмов[99]. Язык упорядоченных блок-схем обеспечивает разработку сложных алгоритмов с сохранением наглядности даже для многостраничных схем[100][101].

Имеются медицинские учебники, в которых используются наглядные графические инструкции для медицинского персонала, написанные в виде упорядоченных блок-схем на языке ДРАКОН[102][103][104][105].

Медицинские алгоритмы скорой помощи[править | править код]

В учебном курсе «Неотложная медицинская помощь»[125] используются упорядоченные блок-схемы в качестве графических инструкций для медицинского персонала. Служба скорой помощи — одно из важнейших звеньев системы оказания медицинской помощи населению[133]. Действия специализированных и линейных бригад скорой помощи должны выполняться очень чётко; последовательности таких действий описываются с помощью дракон-схем и называются алгоритмами. В учебном курсе «Неотложная медицинская помощь» имеется глава «Как читать алгоритмы?», поясняющая порядок чтения дракон-схем[134].

Упорядоченные блок-схемы наглядно показывают неотложные спасательные действия и процедуры, которые должны точно и безупречно выполнять работники скорой помощи при угрожающих жизни пациента состояниях. В начале учебного курса говорится: «Последовательность сложных или более важных действий написана в алгоритмах, подготовленных по методике языка ДРАКОН. Цель алгоритмов — помочь как можно лучше запомнить последовательность действий при оказании неотложной медицинской помощи»[135].

Медицинские алгоритмы неотложной акушерской помощи[править | править код]

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

  • алгоритм «Оценка состояния плода»[136];
  • алгоритм «Дистоция плечиков»[137];
  • алгоритм «Специализированная реанимация новорождённого»[138];
  • алгоритм «Эклампсия»[139];
  • алгоритм «Первичный осмотр пострадавшего»[140];
  • алгоритм «Начальная реанимация и дефибрилляция»[141].

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

Медицинский алгоритм «Терапевтическая тактика при фибрилляции предсердий»[править | править код]

Терапевтическая тактика при фибрилляции предсердий — медицинский алгоритм на языке ДРАКОН[142]

Фибрилляция предсердий (прежнее название, мерцательная аритмия) — нарушение ритма сердца, для которого характерна частая (более 350 импульсов в минуту) неритмичная хаотическая электрическая активность предсердий, приводящая к прекращению работы предсердий как единого целого[143]. На рисунке справа представлен алгоритм терапевтической тактики при фибрилляции предсердий.

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

Медицинские алгоритмы при групповой работе врачей[править | править код]

Снятие шлема с мотоциклиста после аварии — медицинский алгоритм на языке ДРАКОН, описывающий групповую работу двух работников скорой помощи[145]

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

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

Дракон-схемы используются крайней мере в одном медицинском учебнике, изданном в Литве[147][148].

Послевузовское образование врачей общей практики[править | править код]

Послевузовское образование врачей общей практики — алгоритм на языке ДРАКОН[149].

На рисунке справа показана упорядоченная блок-схема «План мероприятий по подготовке и проведению цикла тематического усовершенствования врачей „Организация и методика преподавания семейной медицины“». Данный план (алгоритм) предназначен для преподавателей кафедр медицинских вузов и учебных заведений послевузовского профессионального образования врачей, участвующих в подготовке врачей общей практики (семейных врачей)[150].

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

Применение языка ДРАКОН в системе высшего образования[править | править код]

В 1996 году Государственный комитет Российской Федерации по высшему образованию включил изучение языка ДРАКОН в программу курса «Информатика» для направлений:

510000 — Естественные науки и математика
540000 — Образование
550000 — Технические науки
560000 — Сельскохозяйственные науки[151]

В официальном документе Госкомвуза «Примерная программа дисциплины „Информатика“» имеется раздел, посвящённый языку ДРАКОН и использующий его понятийный аппарат[K 17]:

Раздел 3. АЛГОРИТМЫ И АЛГОРИТМИЗАЦИЯ.
ВИЗУАЛИЗАЦИЯ АЛГОРИТМОВ

Понятие алгоритма. Визуализация алгоритмов и блок-схемы. Недостатки блок-схем. Формализация и эргономизация блок-схем. Язык визуального представления алгоритмов ДРАКОН. Линейные, разветвлённые и цикличные алгоритмы. Вложенные и параллельные алгоритмы. Логические элементы и базовые управляющие структуры визуального структурного программирования. Визуальные операторы управления. Визуальные алгоритмические макроконструкции «примитив» и «силуэт».

Понимаемость алгоритмов и методы её улучшения. Понятие эргономичного алгоритма. Равносильные преобразования визуальных алгоритмов, позволяющие улучшить понимаемость: рокировка, подстановка, вертикальное и горизонтальное объединение, визуализация логических формул в условных операторах… Преобразование алгоритмов из визуальной формы в текстовую и обратно. Язык абстрактных ДРАКОН-схем как инвариант класса процедурных языков[151].

«Примерная программа дисциплины „Информатика“» одобрена Президиумом совета по информатике Госкомвуза. Председатель Президиума академик РАН Юрий Журавлёв является руководителем Секции прикладной математики и информатики Отделения математических наук РАН, а также заместителем Академика-секретаря Отделения математических наук РАН[152].

В одобренной академиком Журавлёвым «Примерной программе» содержится обоснование концепции и структуры учебного курса информатики; в частности, даётся обоснование использования языка ДРАКОН[153][K 18].

Далее в Программе указываются требования к языку представления процедурных знаний нового типа: общедоступного, человечного, предельно лёгкого в изучении и удобного в работе, создающего наиболее комфортные условия для работы человеческого мозга, позволяющего решать проблемы ценою минимальных интеллектуальных усилий, удовлетворяющего самым строгим эргономическим и дидактическим требованиям. Отмечается, что этим требованиям соответствует язык ДРАКОН — «один из самых лёгких языков представления знаний и самый первый язык, с которого нужно начинать обучение алгоритмическому мышлению и программированию»[156].

При коллективной интеллектуальной работе важную роль играет интеллектуальное взаимопонимание и интеллектуальное взаимодействие между специалистами. Для улучшения взаимопонимания необходимо иметь общую языковую основу. Благодаря своей человечности (эргономичности) язык ДРАКОН относительно легко устраняет барьеры взаимного непонимания (в части процедурных знаний) между работниками различных специальностей: врачами и физиками, математиками и конструкторами, биологами и экономистами, программистами и технологами и т. д. Тем самым ДРАКОН создаёт универсальную языковую основу для процедурного интеллектуального взаимодействия между людьми, в частности, между участниками многопрофильных проектов. В результате этот «язык взаимопонимания» заметно упрощает междисциплинарное и иное общение между представителями разных организаций, ведомств, отделов, лабораторий, научных школ и профессий, отчасти играя роль «производственного эсперанто»[156].

Бакалавр любой специальности должен уметь формализовать свои процедурные профессиональные знания самостоятельно, то есть без помощи профессиональных программистов или когнитологов (инженеров по знаниям). Программа предусматривает приобретение навыков автоформализации знаний на языке ДРАКОН[157].

Данные о распространённости языка в ВУЗах[править | править код]

В Сибирском государственном индустриальном университете студенты изучают язык ДРАКОН и осваивают интегрированную среду «ИС Дракон» на кафедре прикладной информатики для представления алгоритмов решения проблем управления при подготовке магистров, обучающихся по направлению: 140400.68 «Электроэнергетика и электротехника», профили подготовки «Электроприводы и системы управления электроприводов», «Автоматизированные электромеханические комплексы и системы»[158].

В Новокузнецком филиале Кемеровского государственного университета студенты изучают язык ДРАКОН и осваивают интегрированную среду «ИС Дракон» на кафедре математики и математического моделирования согласно программе «М2.ДВ.4 Инструментальные средства визуального программирования», составленной в соответствии с требованиями федерального государственного образовательного стандарта высшего образования по направлению подготовки 010400.68 «Прикладная математика и информатика» для магистерской программы «Математическое моделирование» и утверждённой деканом факультета информационных технологий доктором технических наук профессором Валерием Калединым[43].

В Белоруссии в Минском высшем радиотехническом колледже отмечают: «Как показал опыт применения языка ДРАКОН в лабораторном цикле „Изучение аналоговых и цифровых приборов“, студенты на порядок быстрее усваивают принципы работы операционных усилителей и регистрации их амплитудных и частотных характеристик»[159].

Можно привести ещё ряд примеров, но в целом можно отметить малую известность языка среди преподавателей высшей школы.

Применение языка ДРАКОН в системе среднего образования[править | править код]

Начальная школа[править | править код]

В начальной школе факультативно используются пропедевтические курсы Александра Горячева «Информатика в играх и задачах» для 1-4 классов и «Информатика и ИКТ» для 3 и 4 класса. На первом этапе для изображения процедурных знаний в этих курсах использовались традиционные блок-схемы, но затем — после ознакомления с правилами построения ДРАКОН-схем — ситуация изменилась в пользу ДРАКОНа.

Как отмечает создатель пропедевтических курсов кандидат педагогических наук Горячев, «для представления информации о процедурных знаниях мы планируем использовать блок-схемы с рекомендациями автора визуального языка ДРАКОН»[160].

Рабочая программа «Информатика для начинающих» для 2-4 классов, утверждённая руководителем Методического объединения педагогов Веренко Л. И., предусматривает изучение алгоритмов на основе языка ДРАКОН в рамках темы «Страна волшебных алгоритмов» (объём 26 часов)[161] по учебному пособию «Занимательная информатика»[162].

Основная школа (с 5-го по 9-й классы)[править | править код]

Изучение информатики в основной школе определяется Государственным образовательным стандартом. В 2004 году появился стандарт основного общего образования по Информатике и ИКТ (информационно-коммуникационные технологии)[163]. В соответствии со стандартом подготовлено учебное пособие по алгоритмике «Занимательная информатика», основанное на языке ДРАКОН[164]. В 2007 году пособие вышло в свет в издательстве Дрофа — специализированном издательстве, выпускающем учебную и методическую литературу для дошкольных учреждений, начальной, основной, средней и высшей школы. Это было уже третье издание книги, исправленное и дополненное с учётом замечаний учителей и специалистов[K 19].

Учительская газета опубликовала отзыв о книге и языке ДРАКОН.

ДРАКОН — это эргономичный стандарт для графического представления учебной информации. Это, безусловно, первый и единственный такой стандарт. Блок-схемы во всех имеющихся на сегодня книгах (кроме книг по языку ДРАКОН) — составлены очень плохо. Язык ДРАКОН учит нас, методистов и учителей, правильному составлению блок-схем. Насколько я знаю, нет другой литературы, где тому же самому можно научиться настолько просто и даже увлекательно[114].

«Вестник Российской академии наук» о языке ДРАКОН[править | править код]

В журнале «Вестник Российской академии наук» опубликована рецензия доктора технических наук Я. В. Безеля, в которой отмечается, что алгоритмический язык ДРАКОН разработан совместными усилиями Министерства общего машиностроения СССР (Научно-производственный центр автоматики и приборостроения им. акад. Н. А. Пилюгина, Москва) и Академии наук СССР (Институт прикладной математики им. М. В. Келдыша). Этот язык универсален. Он может применяться для наглядного представления и быстрой разработки алгоритмов не только в космосе, но и в земных видах человеческой деятельности. Практическая полезность ДРАКОНа получила высокую оценку: министерство образования РФ включило его изучение в программу дисциплины «информатика» высшей школы. О лёгкости его усвоения говорит хотя бы тот факт, что он положен в основу игрового учебного пособия по информатике для детей младшего и среднего школьного возраста[167].

Как отмечает Безель, в своё время Н. И. Лобачевский дал замечательно яркую оценку искусственным языкам: «Чему одолжены своими блестящими успехами науки, слава нынешних времён, торжество ума человеческого? Без сомнения, искусственному языку своему!»[168]. Разделяя эту мысль, автор книги вместе с тем подвергает критике существующие подходы к созданию языков. Он считает, что разработчики языков не должны игнорировать накопленный наукой огромный багаж знаний об устройстве и работе мозга. Концепция искусственных языков нового поколения должна опираться на междисциплинарный подход[167].

Проблемы понимания и взаимопонимания, продолжает Безель, автор книги рассматривает как ключевые проблемы информатики. Понимаемость программы определяется как свойство программы минимизировать интеллектуальные усилия, необходимые для её усвоения. Одно из неоспоримых достоинств книги состоит в разработке практического метода, позволяющего создать принципиально новый подход к решению проблемы понимания, который, в свою очередь, тесно связан с проблемой улучшения работы ума[167].

По словам Безеля, автор демонстрирует его на примере языка ДРАКОН. При его разработке была объявлена стратегическая цель: создать наиболее комфортные условия для работы человеческого интеллекта, обеспечить наилучшие возможности для повышения эффективности коллективного разума специалистов. В результате должен появиться общедоступный, предельно лёгкий в изучении и удобный в работе язык, позволяющий решать проблемы ценою минимальных интеллектуальных усилий по принципу «сделай сам» (то есть без помощи программистов и когнитологов)[167].

До сих пор создание алгоритмических языков было заветной «вотчиной» математиков. Данная книга представляет собой попытку осуществить своего рода переворот, суть которого в том, что гуманитарные требования к языку выдвигаются на первое место (при этом требование математической строгости, разумеется, аккуратно выполняется). ДРАКОН — первый алгоритмический язык, созданный в рамках нового мировоззрения, органично объединившего идеи психологии, эргономики и математики[167].

См. также[править | править код]

Комментарии[править | править код]

  1. Для ракет семейства «Ангара» программное обеспечение уже разработано и испытано на комплексном стенде Пилюгинского центра, но подготовка к ракетным пускам ещё не завершена.
  2. Дракон-схема примитив «Генерация последовательности Фибоначчи» построена с помощью программы DRAKON-editor Степана Митькина.
  3. Дракон-схема силуэт «Алгоритм поиска A*» построена с помощью программы DRAKON-editor Степана Митькина.
  4. Разработчикам Бурана было запрещено использовать название «Буран». Разрешалось употреблять только открытое название «изделие 11Ф35». Термин «изделие» издавна применялся в документации вместо слова «ракета». По-видимому, это началось не позже 9 августа 1946 года, когда Министр вооружения Дмитрий Устинов назначил Сергея Королёва Главным конструктором «“изделия № 1” — баллистической ракеты дальнего действия»[26].
  5. Неоправданная секретность доставляла много неприятностей пионерам освоения космического пространства. Патриарх советской космонавтики Борис Черток полагает, что это обстоятельство помешало Главному конструктору Сергею Королёву стать Нобелевским лауреатом:

    Безусловной заслугой Никиты Хрущёва является умелое использование первых практических достижений космонавтики для политического и духовного объединения общества. Однако стоит напомнить, что, не жалея средств на развитие космической техники, Хрущёв не осмелился нарушить табу, наложенное органами безопасности, на открытие имён истинных авторов наших космических побед.

    Академик Пётр Капица писал, что автор и организатор такого научного подвига, как запуск первого Искусственного спутника Земли, вполне достоин Нобелевской премии. Нет сомнения, что мировая общественность положительно восприняла бы присуждение Нобелевским комитетом этой премии Главному конструктору ракеты-носителя и первого спутника. Но фамилия Главного конструктора оказалась засекреченной до самой его смерти, а Нобелевские премии анонимным авторам не присуждаются[27].

  6. Концепцию «программирование без программистов» впервые предложил Джеймс Мартин (James Martin) в книге «Разработка прикладных программ без программистов»[47].
  7. Метод «программирование без программистов» позволяет значительно сократить издержки, улучшить показатель «затраты — результат», ускорить ход работ. И почти полностью избавиться от ошибок «испорченного телефона», вызванных взаимным непониманием между программистами и инженерами.
  8. «Концепция языка ДРАКОН опирается на шампур-метод»[60].
  9. «Графические структурные конструкции ДРАКОНа делают ненужными привычные текстовые конструкции (if-then-else, case и т. д.), которые казались незыблемым оплотом процедурного программирования»[61].
  10. «ДРАКОН — первый алгоритмический язык, созданный в рамках нового мировоззрения, органично объединившего идеи психологии, эргономики и математики»[61].
  11. Тема «Формализация и эргономизация блок-схем» предусмотрена в официальном документе Государственного комитета Российской Федерации по высшему образованию[67]
  12. Когнитивные вопросы математики при исследовании проблемы интенсификации математического научного творчества с помощью интерактивной компьютерной графики изложены в книге Зенкин А. А. Когнитивная компьютерная графика. — М.: Наука, 1991. — 192 с. — ISBN 5-02-014143-7.. См. также Когнитивная графика
  13. Этот принцип наглядно продемонстрирован графически на шести иллюстрациях, размещённых на стр. 25, 26, 27, 28 в работе «Заметки по структурному программированию»[108].
  14. Этот принцип наглядно продемонстрирован графически на шести иллюстрациях, размещённых на стр. 25, 26, 27, 28 в работе «Заметки по структурному программированию»[108].
  15. Выдержка из ГОСТ 19.701—90: «4.2.4. Линия в схемах должна подходить к блоку либо слева, либо сверху, а исходить либо справа, либо снизу»[120].
  16. В стандарте ГОСТ 19.701—90 на стр. 23 представлена «Схема работы системы», в которой из ромба «Заказ или запрос?» выход изображён слева[121].
  17. Программа одобрена Президиумом научно-методического совета по информатике Госкомвуза. Председатель Президиума академик РАН Юрий Иванович Журавлёв, в настоящее время Заместитель Академика-секретаря Отделения математических наук РАН.
  18. Выдержка из официального документа Государственного комитета Российской Федерации по высшему образованию «Примерная программа дисциплины „Информатика“»:

    1. Среди требований, предъявляемых к современным алгоритмическим языкам, на первое место всё чаще выходит понимаемость (comprehensibility) алгоритмов и программ, которая определяется как «свойство программы минимизировать интеллектуальные усилия, необходимые для её понимания». Это объясняется тем, что «в современных условиях качественная программа должна обладать, помимо надёжности и эффективности, ещё и такими важнейшими качествами как понимаемость и сопровождаемость»[154].

    Наиболее мощным средством для улучшения понимаемости является визуализация алгоритмов и программ: «общепризнанно, что человеческий мозг в основном ориентирован на визуальное восприятие, и люди получают информацию при рассмотрении графических образов быстрее, чем при чтении текста»[155].

    2. … В связи с этим тема «алгоритмы и алгоритмизация» (см. раздел 3 программы) излагается в рамках визуальной парадигмы, что позволяет получить ряд преимуществ: облегчить изучение темы, улучшить эргономические характеристики алгоритмов и т. д.[155]

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

  19. Первые два издания книги вышли в издательстве «Росмэн»[165][166].

Примечания[править | править код]

  1. 1 2 Морозов В. В., Трунов Ю. В., Комиссаров А. И., Пак Е. А., Жучков А. Г., Дишель В.Д, Залихина Е. Е., Паронджанов В. Д. Система управления межорбитального космического буксира «Фрегат» Архивная копия от 19 июля 2014 на Wayback Machine // Вестник ФГУП «НПО им. С. А. Лавочкина», 2014, № 1. — С. 16-25
  2. 1 2 3 4 5 Паронджанов В. Д. Графический синтаксис языка ДРАКОН. — 1995. — Т. 3. — С. 45—62. — (Программирование).
  3. Terekhov, Andrey; Bryksin, Timofey; Litvinov, Yurii. How to make visual modeling more attractive to software developers / 11th LASER Summer School on Software Engineering. Leading-Edge Software Engineering. September 7-13, 2014 - Elba Island, Italy. Дата обращения: 13 июня 2015. Архивировано 15 июня 2015 года.
  4. 1 2 3 4 Архивированная копия. Дата обращения: 1 июля 2014. Архивировано 14 июля 2014 года.Архивированная копия. Дата обращения: 1 июля 2014. Архивировано 14 июля 2014 года.
  5. Паронджанов, В. Д. Алгоритмические языки и программирование: ДРАКОН. — М.: Издательство Юрайт, 2022. — 436 с. — (Высшее образование). — ISBN 978-5-534-13146-8. — С. 343-344.
  6. Паронджанов В. Д. [https://drakon.su/_media/biblioteka_1/drakon_rakety_i_medicina_.pdf Визуальный алгоритмический язык ДРАКОН в ракетной технике и медицине // Современные автоматизированные системы управления реального времени как прикладное развитие научных достижений кибернетики» (К 100-летию со дня рождения И.А. Полетаева). Материалы межведомственной конференции 24 марта 2016г. Научные труды 3 Центрального НИИ Министерства обороны РФ]. — М.: ФГБУ «3 ЦНИИ» Минобороны РФ., 2016. — 218 с. — С. 57—78. Архивировано 12 сентября 2019 года.
  7. Разгонный блок ДМ-SLБ. Федеральное космическое агентство. Дата обращения: 28 декабря 2012. Архивировано 27 января 2013 года.
  8. Паронджанов, 2012, с. 515.
  9. 1 2 3 4 5 6 Аллашев О. Ю., Фурман І. О., Малиновський М. Л. Табличні проблемно-орієнтовані мови програмування систем логічного керування // Проблеми енергозабезпечення та енергозбереження в АПК України: Вісник ХНТУСГ, вип. 130. — Харків, 2012. — С. 82-83. Дата обращения: 29 сентября 2014. Архивировано из оригинала 19 октября 2014 года.
  10. Глава 7 // Система управления орбитального корабля // Многоразовый орбитальный корабль «Буран» / Под ред. Ю. П. Семёнова, Г. Е. Лозино-Лозинского, В. Л. Лапыгина, В. А. Тимченко. — М.: Машиностроение, 1995. — С. 254—269. — ISBN 5-217-02772-X.
  11. Система управления (СУ) космического корабля «Буран». Описание. Дата обращения: 28 декабря 2012. Архивировано 18 октября 2012 года.
  12. Система управления (СУ) космического корабля «Буран». Состав. Дата обращения: 28 декабря 2012. Архивировано 18 октября 2012 года.
  13. Бортовой цифровой вычислительный комплекс (БЦВК) космического корабля «Буран». Дата обращения: 28 декабря 2012. Архивировано 29 ноября 2012 года.
  14. Межирицкий, 2008, с. 190—193.
  15. Межирицкий Е. Л., Немкевич В. А., Присс Г. М. 40 лет Научно-производственному центру автоматики и приборостроения им. академика Н. А. Пилюгина (28 января 2004). — XXVIII Академические чтения по космонавтике, посвящённые памяти академика С. П. Королёва и других выдающихся отечественных учёных — пионеров освоения космического пространства. Материалы пленарного заседания «Лидеры отечественной ракетно-космической техники — пути становления и созидания». Дата обращения: 28 декабря 2012. Архивировано 26 января 2007 года.
  16. Назьмов Р. Б. БЦВК на базе семейства «Бисер 6». — 2008.
  17. Крюков В., Петренко А. Интегрированный подход к разработке крупных программных систем управления реального времени. Дата обращения: 28 декабря 2012. Архивировано 21 ноября 2012 года.
  18. Начальник отдела 23 Института прикладной математики РАН Виктор Алексеевич Крюков. Персональная страница. Дата обращения: 28 декабря 2012. Архивировано 23 мая 2009 года.
  19. Баранова Т. П., Буликов В. Г., Вершубский В. Ю., Гайфулин С. А., Луцикович В. В., Молчанова Г. Ю., Семёнова Т. В., Шура-Бура М. Р. Автоматизированная испытательная система. — М.: ИПМ им. М. В. Келдыша РАН, 2008.. — 14 с. Архивировано 2 апреля 2015 года.
  20. Генеральный конструктор Пилюгинского центра Юрий Вадимович Трунов. Биография. Дата обращения: 28 декабря 2012. Архивировано 6 января 2013 года.
  21. Паронджанов В. Д. Крылатые космические системы // Неожиданные уроки космонавтики XX века. Новая роль человеческого фактора и когнитивная революция в информационных технологиях / Под ред. Лозино-Лозинского Г. Е.. — М.: Российская инженерная академия, 1995. — Т. 2. — С. 337—345.
  22. Паронджанов, 2010, с. 47.
  23. Пуски по программе «Морской старт». Ракетно-космическая корпорация «Энергия». Морской старт. Дата обращения: 28 декабря 2012. Архивировано из оригинала 26 июля 2012 года.
  24. Хронология пусков. Ракетно-космическая корпорация «Энергия». Морской старт. Дата обращения: 28 декабря 2012. Архивировано 24 января 2013 года.
  25. Паронджанов В. «Буран» и язык программирования ДРАКОН. Компьютерра Online (13 апреля 2009). Дата обращения: 28 декабря 2012. Архивировано из оригинала 30 августа 2011 года.
  26. Черток Б.Е. Ракеты и люди. — Подлипки — Капустин яр — Тюратам. — М.: РТСофт, 2006. — С. 25. — 656 с. — ISBN 5-9900271-7-6.
  27. Черток Б. Е. Ракеты и люди. От самолётов до ракет. — М.: РТСофт, 2006. — С. 33—34. — 364 с. — ISBN 5-9900271-5-X.
  28. Назьмов Р. Б. БЦВК на базе семейства «Бисер 6». — 2008.
  29. 1 2 Шамардина Е. И., Манюнин П. А. Секция 17. Системы управления космических аппаратов и комплексов // Язык программирования «Дракон» и его применения за пределами ракетно-космических проектов. Разработка математической модели и редактора. — ИИЕТ РАН. (недоступная ссылка)
  30. Архивированная копия. Дата обращения: 28 декабря 2012. Архивировано 7 ноября 2005 года.Архивированная копия. Дата обращения: 28 декабря 2012. Архивировано 7 ноября 2005 года.
  31. drakon / FrontPage. Дата обращения: 28 декабря 2012. Архивировано 6 января 2013 года.
  32. Вельбицкий И. В., Ходаковский В. Н., Шолмов Л. И. Технологический комплекс производства программ на машинах ЕС ЭВМ и БЭСМ-6. — М.: Статистика, 1980. — 263с. — С. 89-257.
  33. Вельбицкий И. В., Ходаковский В. Н., Шолмов Л. И. Технологический комплекс производства программ на машинах ЕС ЭВМ и БЭСМ-6. — М.: Статистика, 1980. — 263с. — С. 30-35.
  34. Вельбицкий И. В., Ходаковский В. Н., Шолмов Л. И. Технологический комплекс производства программ на машинах ЕС ЭВМ и БЭСМ-6. — М.: Статистика, 1980. — 263с. — С. 18, 19, 42-53, 73-79.
  35. Вельбицкий И. В., Ходаковский В. Н., Шолмов Л. И. Технологический комплекс производства программ на машинах ЕС ЭВМ и БЭСМ-6. — М.: Статистика, 1980. — 263с. — С. 17-20.
  36. Паронджанов, 2001, с. 28.
  37. Паронджанов, 2001, с. 260.
  38. 1 2 Паронджанов, 2001, с. 165—176.
  39. 1 2 Межирицкий, 2008, с. 192.
  40. Григорьев О. Г., Волкова Г. Д., Новосёлова О. В., Григорьева Л. В., Тюрбеева Т. Б. Исследование методов и подходов при создании автоматизированных систем различного назначения // Сборник трудов конференции «Перспективные вопросы мировой науки» 17 — 25 декабря 2012, Болгария, София // Секция «Современные информационные технологии». — Publishing House Education and Science s.r.o. Praha. Дата обращения: 18 апреля 2013. Архивировано 27 апреля 2014 года.
  41. Саркисян, 1991, с. 21.
  42. 1 2 3 4 5 6 Титова Е. В. Алгоритмический язык Дракон в лингвистике // Сборник работ 68-й научной конференции студентов и аспирантов Белорусского государственного университета в трёх частях. Часть 3. 16—18 мая 2011 г. — Минск: БГУ, 2011.— 279с. — С. 50–52. Архивировано 17 мая 2017 года. Архивированная копия. Дата обращения: 27 июля 2019. Архивировано 17 мая 2017 года. accessdate=4 августа 2014 года
  43. 1 2 Рабочая программа учебной дисциплины «М2.ДВ.4 Инструментальные средства визуального программирования». Для направления подготовки «010400.68 Прикладная математика и информатика». Магистерская программа «Математическое моделирование». — 2013. Архивировано 11 января 2014 года. Архивированная копия. Дата обращения: 11 января 2014. Архивировано 11 января 2014 года.
  44. Гуленков Г. А. Схемокурс — эффективное средство представления текстовой информации // X конференция-выставка «Информационные технологии в образовании». — Москва, 7 — 11 ноября 2000 г. ИТО-2000. Дата обращения: 23 октября 2014. Архивировано 23 октября 2014 года.
  45. Рабочая программа учебной дисциплины «М2.ДВ.4 Инструментальные средства визуального программирования». Для направления подготовки «010400.68 Прикладная математика и информатика». Магистерская программа «Математическое моделирование». Дата обращения: 6 мая 2018. Архивировано из оригинала 7 мая 2018 года.
  46. Паронджанов, 2010, с. 13.
  47. Martin J. Application Development Without Programmers. — Englewood Cliffs, NJ: Prentice Hall Inc., 1982.
  48. Паронджанов, 2010, с. 13—14.
  49. 1 2 3 4 5 Окулова Л. П. Проектирование образовательного процесса в соответствии с требованиями педагогической эргономики. Вестник. Наука и практика. (29 мая 2012). — Материалы конференции «Инновации и научные исследования, а также их применение на практике. Варшава. Дата обращения: 27 декабря 2012. Архивировано 3 сентября 2017 года.
  50. 1 2 Величко, В. Є. (2014) Використання технології візуального програмування в університетській освіті засобами вільного програмного забезпечення. Вісник Житомирського державного університету імені Івана Франка (76). pp. 51-55. ISSN 2076-6173. Дата обращения: 21 ноября 2014. Архивировано 29 ноября 2014 года.
  51. 1 2 3 4 Хайдаров К. А. Язык визуального программирования ДРАКОН. Дата обращения: 28 декабря 2012. Архивировано 11 марта 2013 года.
  52. Паронджанов, 2012, с. 2.
  53. 1 2 3 Ермаков И. Е., Жигуненко Н. А. Двумерное структурное программирование; класс устремлённых графов. (Теоретические изыскания из опыта языка «ДРАКОН»). — М.: МГУ им. М. В. Ломоносова, 2010. — С. 452—461. — (Сборник трудов V Международной конференции «Инновационные информационно-педагогические технологии в системе ИТ-образования»). Архивировано 26 октября 2021 года.
  54. 1 2 Шамардина Е. И., Манюнин П. А. Язык алгоритмических чертежей «ДРАКОН», его математическая модель и редактор // Новые информационные технологии. Тезисы докладов XVII Международной студенческой конференции-школы-семинара. — М.: МИЭМ, 2009. — 399с. — С. 279, 280. — ISBN 978-5-94506-223-8. Дата обращения: 30 октября 2014. Архивировано 20 мая 2012 года.
  55. Вельбицкий И. В., Ходаковский В. Н., Шолмов Л. И. Технологический комплекс производства программ на машинах ЕС ЭВМ и БЭСМ-6. — М.: Статистика, 1980. — 263с. — С. 5.
  56. Стогний А. А. Предисловие. // Вельбицкий И. В., Ходаковский В. Н., Шолмов Л. И. Технологический комплекс производства программ на машинах ЕС ЭВМ и БЭСМ-6. — М.: Статистика, 1980. — 263с. — С. 3.
  57. Знакомьтесь, Р-технология // НТР: проблемы и решения. — 1987, № 13, 7—20 июля. — С. 4, 5.
  58. Межгосударственный стандарт ГОСТ 19.005-85. Единая система программной документации. Р-схемы алгоритмов и программ. Обозначения условные графические и правила выполнения. Unified system for program documentation. R-charts. Graphical chart symbols and conventions for charting. 1985.
  59. ГОСТ Р ИСО/МЭК 8631-94 Информационная технология. Программные конструктивы и условные обозначения для их представления. Information technology. Program constructs and conventions for their representation. Госстандарт России. — Издательство стандартов, 1995. Дата обращения: 23 декабря 2017. Архивировано 24 декабря 2017 года.
  60. Титова Е. В. Часть 3. // Алгоритмический язык Дракон в лингвистике. — Минск: БГУ, 2011.. — С. 50—52. — (Сборник работ 68-й научной конференции студентов и аспирантов Белорусского государственного университета в трёх частях).
  61. 1 2 Безель Я. Б. № 4 // Можно ли улучшить работу ума? Новый взгляд на проблему. Размышления над новой книгой. — 2003. — Т. 73. — С. 364—365. — (Вестник Российской академии наук). Архивировано 20 октября 2011 года.
  62. Часть VII. Глава 34. Исчисление икон // Теоретические основы языка ДРАКОН. — С. 429—435. Архивировано 27 апреля 2014 года.
  63. Часть VI. // Конструктор алгоритмов и формальное описание языка. — С. 393—424. Архивировано 27 апреля 2014 года.
  64. Часть VII. Глава 35. Метод Ашкрофта-Манны и алгоритмическая структура «силуэт» // Теоретические основы языка ДРАКОН. — С. 436—448. Архивировано 27 апреля 2014 года.
  65. Часть VII. Глава 36. Визуальный структурный подход к алгоритмам и программам (шампур-метод) // Теоретические основы языка ДРАКОН. — С. 449—472. Архивировано 27 апреля 2014 года.
  66. Часть VII // Теоретические основы языка ДРАКОН. — С. 449—472. Архивировано 27 апреля 2014 года.
  67. Примерная программа дисциплины «Информатика», 1996, pp. 3—4.
  68. Григорьев М. В., Ткаченко И. Н. Трансляция ДРАКОН-схем в программный код C++ // Современные проблемы науки и образования. — 2014. — № 6. (приложение «Технические науки»). Дата обращения: 7 июля 2014. Архивировано 14 июля 2014 года.
  69. 1 2 3 4 5 Пышкин, 2005, с. 283.
  70. 1 2 3 Потий А. В., Мурзин М. В. Визуализация методики оценки гарантий информационной безопасности в нотации Паронджанова Архивная копия от 23 февраля 2015 на Wayback Machine // Освітньо-наукове забезпечення діяльності правоохоронних органів і військових формувань України : тези VІ Всеукраїнської науково-практичної конференції (15 листопада 2013 року). — Хмельницький: Видавництво НАДПСУ, 2013. — 816 с.— C. 34-36.
  71. Simultaneous — «одновременно»(англ.)
  72. Григорьев М. В., Ткаченко И. Н. Трансляция ДРАКОН-схем в программный код C++ // Современные проблемы науки и образования. — 2014. — № 6. (приложение «Технические науки»). Дата обращения: 7 июля 2014. Архивировано 14 июля 2014 года.
  73. Паронджанов, 2010, с. 80—81.
  74. Паронджанов, 2012, с. 255.
  75. Паронджанов, 2012, с. 265.
  76. Приклонский, Пётр. Практический вывод по результатам эксплуатации системы ИС Дракон — Транслятор Дракон-Си — Keil (13 декабря 2011). Дата обращения: 2 января 2013. Архивировано 6 января 2013 года.
  77. Приклонский, Пётр. Транслятор файла *.drt ИС Дракон в текст Си-программ (25 июня 2010). Дата обращения: 2 января 2013. Архивировано 6 января 2013 года.
  78. Павлова, 2002, с. 25—33.
  79. Паронджанов, 2001, с. 31—32.
  80. Саркисян, 1991, с. 17.
  81. Ермаков И. Е., Жигуненко Н. А. Двумерное структурное программирование; класс устремлённых графов. (Теоретические изыскания из опыта языка «ДРАКОН»). — М.: МГУ, 2010. — С. 452—461. — (Сборник трудов V Международной конференции «Инновационные информационно-педагогические технологии в системе ИТ-образования», Москва, 8-10 ноября 2010). (недоступная ссылка)
  82. Шамардина Е. И., Манюнин П. А. Язык алгоритмических чертежей «ДРАКОН», его математическая модель и редактор // Новые информационные технологии. Тезисы докладов XVII Международной студенческой конференции-школы-семинара. — М.: МИЭМ, 2009. — 399с. — С. 279, 280. — ISBN 978-5-94506-223-8. Дата обращения: 30 октября 2014. Архивировано 20 мая 2012 года.
  83. Паронджанов, 2012, с. 265—266.
  84. 1 2 Дробушевич, Конах. Способы визуализации алгоритмов и программ, 2011, p. 347.
  85. 1 2 Бубенцов В. Ю. Подходы к анализу исходной ситуации // Сборник докладов конференции «Теория и практика решения изобретательских задач», Москва 2007. — 328с. — С. 21—27. accessdate=4 августа 2014 года. Дата обращения: 2 октября 2014. Архивировано 7 октября 2014 года.
  86. Горбунова Т.Н. Обучение информатике через визуализацию // Материалы XXV Международной конференции «Применение новых технологий в образовании», Москва, г. Троицк, 25 – 26 июня 2014 г. — Москва-Троицк: Департамент образования г. Москвы, фонд «Байтик», 2014. — С. 19—21. Архивированная копия. Дата обращения: 1 июля 2014. Архивировано 14 июля 2014 года. accessdate=4 августа 2014 года
  87. 1 2 Робертсон Л. А. Программирование — это просто. Пошаговый подход / Перевод с 4-го английского издания. — М.: БИНОМ. Лаборатория знаний, 2008. — С. 265. — 383 с. — (Программисту). — ISBN 978-5-94774-318-0.
  88. Вельбицкий И. В. № 13 // Знакомьтесь, Р-технология // НТР: Проблемы и решения. — 1987. — С. 5.
  89. Майерс Г. Надёжность программного обеспечения. — М.: Мир, 1980. — С. 150.
  90. Толковый словарь по вычислительным системам. — М.: Машиностроение, 1991. — С. 193. — 560 с. — ISBN 5-217-00617-X.
  91. Семёнов Н. М. Программирование и основы алгоритмизации. Учебное пособие. — Томск: Томский политехнический университет, 2009. — С. 71. — 90 с.
  92. 1 2 3 Дробушевич, Конах, 2011, p. 212—213.
  93. Лекарев М. Ф. Визуальный формализм для разработки программного обеспечения. — Санкт-Петербургский гос. техн. ун-т. — СПб.: 1997. — 95с.
  94. Пышкин Е. В. Структуры данных и алгоритмы: реализация на C/C++. — Санкт-Петербургский гос. политехнический ун-т. — СПб., ФТК, СПбГПУ, 2009.- 200с. — С. 35. Дата обращения: 24 октября 2014. Архивировано 24 октября 2014 года.
  95. 1 2 3 Очков В. Ф., Пухначёв Ю. В. 128 советов начинающему программисту. — М.: Энергоатомиздат, 1992. — С. 21.
  96. 1 2 Павлова Н. Ф. Стратегическое планирование развития территориальных социальных образований в схемах. — Екатеринбург: Уральское отделение РАН, 2002. — С. 25—33. — ISBN 5-7691-1400-2.
  97. Окулова Л. П. Проектирование образовательного процесса в соответствии с требованиями педагогической эргономики. Вестник. Наука и практика. (29 мая 2012). — Материалы конференции «Инновации и научные исследования, а также их применение на практике. Варшава. Дата обращения: 15 февраля 2014. Архивировано 3 сентября 2017 года.
  98. 1 2 Корзина М. И., Гурьев А. Т., Лысенко В. А., Сальникова П. Ю., Майоров И. С. Концепция магистерской программы «Информационные технологии в дизайне» в рамках направления подготовки «230400 Информационные системы и технологии» // Проблемы подготовки кадров в сфере инфокоммуникационных технологий. — Санкт-Петербургская научно-практическая конференция. 18-20 мая 2011 г. Архивная копия от 29 ноября 2014 на Wayback Machine — Санкт-Петербург, Сборник трудов конференции / Санкт-Петербургское Общество информатики, вычислительной техники, систем связи и управления (СПОИСУ). — СПб., 2011. — 92с. — ISBN 978-5-905687-44-0
  99. 1 2 Шелехов В. И. Предикатная программа вставки в АВЛ-дерево. Архивная копия от 23 декабря 2018 на Wayback Machine — Работа выполнена при поддержке РФФИ, грант № 12-01-00686. — Институт систем информатики имени А. П. Ершова СО РАН
  100. 1 2 3 Фокин Ю. Г. Теория и технология обучения: деятельностный подход: учебное пособие для студентов высших учебных заведений. — 3-е изд., испр.. — М.: Издательский центр «Академия», 2008. — С. 233. — 240 с. — ISBN 978-5-7695-5259-5.
  101. 1 2 Дерипаска А. О. Визуальный язык для платформы Ubiq Mobile в среде QReal. — Курсовая работа. Научный руководитель: Литвинов Ю. В. старший преподаватель кафедры Системного программирования Математико-механического факультета СПбГУ. — Санкт-Петербург, 2013. Архивная копия от 19 декабря 2014 на Wayback Machine accessdate=5 августа 2014 года
  102. 1 2 Начальная неотложная акушерская помощь. Учебник / Под ред. профессора Рута Йоланта Надишаускене. — Литва: Центр исследования кризисов, Университет наук здоровья Литвы, 2012. — 204 с. — ISBN 978-609-8033-61-8.
  103. 1 2 Специализированная реанимация новорождённого. Учебник / Под ред. профессора Рута Йоланта Надишаускене. — Литва: Центр исследования кризисов, Университет наук здоровья Литвы, 2012. — 396 с. — ISBN 978-609-8033-73-1.
  104. 1 2 Травма. Учебник / Под ред. докт. мед. наук Динаса Вайткайтиса. — Литва: Центр исследования кризисов, Университет наук здоровья Литвы, 2012. — 440 с. — ISBN 978-609-8033-62-5.
  105. 1 2 Неотложная медицинская помощь. Материалы курса. — Литва: Центр исследования кризисов, Каунасский медицинский университет, 2012. — 265 с.
  106. Дейкстра Э. Заметки по структурному программированию. // Дал У., Дейкстра Э., Хоор К. Структурное программирование. — М.: Мир, 1975. — С. 7—97 (См. стр. 28).
  107. Дейкстра Э. Заметки по структурному программированию. // Дал У., Дейкстра Э., Хоор К. Структурное программирование. — М.: Мир, 1975. — С. 7—97 (См. стр. 27).
  108. 1 2 Дейкстра Э. Заметки по структурному программированию. // Дал У., Дейкстра Э., Хоор К. Структурное программирование. — М.: Мир, 1975. — С. 7—97.
  109. Паронджанов, 2001, с. 248—266.
  110. Пышкин, 2005, с. 104.
  111. Павлова, 2002, с. 30.
  112. Атепалихин М. С. Эргономичное представление учебной информации как фактор формирования методологической культуры обучающихся // Развитие методологических знаний у обучаемых: Материалы Всероссийского научно-методологического семинара, Новый Уренгой, 11 декабря 2009 г. / Отв. ред. Г. А. Дзида. Филиал Тюменского гос. университета, Новый Уренгой, 2010. — 194 с. Дата обращения: 27 апреля 2020. Архивировано 27 сентября 2020 года.
  113. Паронджанов, 2012, с. 32.
  114. 1 2 Беляков Е. 13 марта 2001, № 10 // Новый алгоритм: раздевайся и быстро ложись спать! Диалог на языке «Дракона». — С. 16. — (Учительская газета).
  115. Окулова Л. П. Проектирование образовательного процесса в соответствии с требованиями педагогической эргономики. Вестник. Наука и практика. (29 мая 2012). — Материалы конференции «Инновации и научные исследования, а также их применение на практике. Варшава. Дата обращения: 4 августа 2014. Архивировано 3 сентября 2017 года.
  116. Безель Я. Б. № 4 // Можно ли улучшить работу ума? Новый взгляд на проблему. Размышления над новой книгой. — 2003. — Т. 73. — С. 365. — (Вестник Российской академии наук). Архивировано 20 октября 2011 года.
  117. Паронджанов, 2012, с. 21.
  118. Пышкин, 2005, с. 281.
  119. Mitkin S.B. DRAKON: The Human Revolution in Understanding Programs 11—12 (октябрь 2011). Архивировано 6 января 2013 года.
  120. ГОСТ 19.701—90. Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. — Издательство стандартов, 1991. — С. 14. Архивировано 1 декабря 2021 года.
  121. ГОСТ 19.701—90. Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. — Издательство стандартов, 1991. — С. 23. Архивировано 1 декабря 2021 года.
  122. Практическое руководство для врачей общей (семейной) практики / Под ред. академика РАМН И. Н. Денисова. — М.: ГЭОТАР-МЕД, 2001. — 720 с. — ISBN 5-9231-0050-9. — C. 501—504.
  123. Надишаускене, 2012.
  124. Денисов, 2001.
  125. 1 2 Неотложная медицинская помощь, 2012.
  126. Денисов, 2001, с. 641—642.
  127. Денисов, 2001, с. 651—654.
  128. Денисов, 2001, с. 677—679.
  129. Денисов, 2001, с. 680—683.
  130. Денисов, 2001, с. 684—686.
  131. Денисов, 2001, с. 696—697.
  132. Семёнов Н. М. Программирование и основы алгоритмизации. Учебное пособие. — Томск: Томский политехнический университет, 2009. — С. 71. — 90 с. accessdate=5 августа 2014 года
  133. Руководство для врачей скорой помощи / Михайлович В. А. — 2-е изд., перераб. и доп. — Л.: Медицина, 1990. — С. 3. — 544 с. — 120 000 экз. — ISBN 5-225-01503-4.
  134. Неотложная медицинская помощь, 2012, с. 7—19.
  135. Неотложная медицинская помощь, 2012, с. 5.
  136. Надишаускене, 2012, с. 78—79.
  137. Надишаускене, 2012, с. 86—87.
  138. Надишаускене, 2012, с. 111—112.
  139. Надишаускене, 2012, с. 136—137.
  140. Надишаускене, 2012, с. 188—189.
  141. Надишаускене, 2012, с. 190—191.
  142. Поликлиническая терапия. Учебник / Под ред. проф. И. Л. Давыдкина, проф. Ю. В. Щукина. — М.: ГЭОТАР-Медиа, 2013. — 688 с. — ISBN 978-5-9704-2396-7. — C. 114—115.
  143. Поликлиническая терапия. Учебник / Под ред. проф. И. Л. Давыдкина, проф. Ю. В. Щукина. — М.: ГЭОТАР-Медиа, 2013. — 688 с. — ISBN 978-5-9704-2396-7. — C. 107.
  144. Поликлиническая терапия. Учебник / Под ред. проф. И. Л. Давыдкина, проф. Ю. В. Щукина. — М.: ГЭОТАР-Медиа, 2013. — 688 с. — ISBN 978-5-9704-2396-7. — C. 111.
  145. Неотложная медицинская помощь. Материалы курса. — Литва: Центр исследования кризисов, Каунасский медицинский университет, 2012. — 265 с. — в разделе «Иммобилизация позвоночника» — C. 86-87.
  146. Неотложная медицинская помощь. Материалы курса. — Литва: Центр исследования кризисов, Каунасский медицинский университет, 2012. — 265 с. — Раздел «Иммобилизация позвоночника» — C. 65-96.
  147. Начальная неотложная акушерская помощь. Учебник. Под редакцией профессора Рута Йоланта Надишаускене. — Литва, Центр исследования кризисов, Университет наук здоровья Литвы, 2012. — 208с. — ISBN 978-609-8033-61-8
  148. Космический ДРАКОН. Как заброшенный проект «Роскосмоса» подарил язык литовской медицине Архивная копия от 8 августа 2019 на Wayback Machine // Русская служба Би-би-си
  149. Денисов И. Н., Иванов А. И. Преподаватель кафедры семейной медицины. Методическое пособие. — М.: ГОУ ВУНМЦ МЗ РФ, 2002. — 198с. — С. 96, 97. — ISBN 5-89004-164-9
  150. Денисов И. Н., Иванов А. И. Преподаватель кафедры семейной медицины. Методическое пособие. — М.: ГОУ ВУНМЦ МЗ РФ, 2002. 198с. — ISBN 5-89004-164-9, в разделе «План мероприятий по подготовке и проведению цикла тематического усовершенствования „Организация и методика преподавания семейной медицины“» на стр. 96—97
  151. 1 2 3 Примерная программа дисциплины «Информатика», 1996.
  152. Профиль академика Юрия Журавлёва на сайте Российской академии наук (24 декабря 2010). Дата обращения: 2 января 2013. Архивировано 3 ноября 2015 года.
  153. Примерная программа дисциплины «Информатика», 1996, p. 13—16.
  154. Примерная программа дисциплины «Информатика», 1996, p. 17.
  155. 1 2 Вельбицкий И. В., Ковалёв А. А., Лизенко С. Л. № 4 // Графический интерфейс представления алгоритмов и программ. — 1988. — С. 42. — (Управляющие системы и машины).
  156. 1 2 Примерная программа дисциплины «Информатика», 1996, p. 16.
  157. Примерная программа дисциплины «Информатика», 1996, p. 15—16.
  158. Калиногорский Н. А. Автоматизация процесса разработки алгоритмов управления в интегрированной среде Дракон 2007-2010: Методические указания / Сиб. гос. индустр. ун-т. — Новокузнецк: Изд. центр СибГИУ, 2013. — 50 с. Архивировано 13 апреля 2018 года.
  159. Архивированная копия. Дата обращения: 11 января 2014. Архивировано 11 января 2014 года.Архивированная копия. Дата обращения: 11 января 2014. Архивировано 11 января 2014 года.
  160. Горячев А. В. Секция 1. Цели, содержание и методика преподавания информатики и информационных технологий // Развитие и модернизация курса информатики для начальной школы «Информатика в играх и задачах». — М.: МИФИ, 2003. — (Международный конгресс конференций «Информационные технологии в образовании» («ИТО-2003») 16-20 ноября 2003 г., Москва.). Архивировано 18 октября 2014 года.
  161. Рабочая программа «Информатика для начинающих» для 2-4 классов. Дата обращения: 27 апреля 2020. Архивировано 25 августа 2016 года.
  162. Паронджанов В. Д. Занимательная информатика, или Волшебный Дракон в гостях у Мурзика. — М.: Росмэн, 2000. — 160с. — ISBN 5-257-00929-3. Дата обращения: 3 февраля 2014. Архивировано 24 мая 2013 года.
  163. Архивированная копия. Дата обращения: 20 ноября 2012. Архивировано 2 февраля 2009 года.Архивированная копия. Дата обращения: 20 ноября 2012. Архивировано 2 февраля 2009 года.
  164. Паронджанов В. Д. Занимательная информатика. — М.: Дрофа, 2007. — 192 с. — ISBN 978-5-358-01603-3.
  165. Паронджанов, 1998.
  166. Паронджанов В.Д. Занимательная информатика. — М.: Росмэн, 2000. — 160 с. — ISBN 5-257-00929-3.
  167. 1 2 3 4 5 Безель Я. Б. № 4 // Можно ли улучшить работу ума? Новый взгляд на проблему. Размышления над новой книгой. — 2003. — Т. 73. — С. 363—365. — (Вестник Российской академии наук). Архивировано 20 октября 2011 года.
  168. Речь H.И. Лобачевского «О важнейших предметах воспитания» на торжественном собрании Казанского Императорского университета 5 июля 1828 г., в 1-ю годовщину его пребывания на посту ректора. Казанский Государственный Университет. Дата обращения: 2 января 2013. Архивировано 3 марта 2009 года.

Литература[править | править код]

Основная литература по языку ДРАКОН
Язык ДРАКОН для медицинских работников скорой помощи
Другие авторитетные источники
Материалы научных, научно-методических и научно-практических конференций

Ссылки[править | править код]

Программа Степана Митькина «DRAKON Editor»
Программа «ИС Дракон»
Среда разработки Дракон-Тех
Дополнительные материалы