Визуальный язык ДРАКОН

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

Инструменты пользователя

Инструменты сайта


primer0202

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

primer0202 [2015/01/28 17:04] (текущий)
Александр Шилин создано
Строка 1: Строка 1:
 +=====Примеры работы с ИС Дракон 02 часть 2=====
  
 +=====Пример 02. Придумываем и делаем очень простую Дракон-схему.=====
 +
 +
 +
 +Часть 2. ТОЧКА ВВОДА.
 +
 +Работа велась на ИС Дракон версии от 23.01.2015.
 +
 +====Разбираемся с ТОЧКОЙ ВВОДА.====
 +
 +Кстати. А что мы вставляем в ТОЧКУ ВВОДА? А макроИКОНКУ!
 +
 +Но ТОЧКА ВВОДА используется нами не только для ввода макроИКОНОК.
 +
 +Переберём наши действия нудно описанные в начале части 1 нашего Примера 02. И перечислим:​ что мы делали с ТОЧКОЙ ВВОДА.
 +
 +1.     ​Вставляем в ТОЧКУ ВВОДА – макроИКОНКУ. Причём – макроИКОНКА может быть разной!
 +
 +2.     ​Вставляем в ТОЧКУ ВВОДА то, что сохранили (скопировали) до этого в буфере.
 +
 +И всё? Да. Это всё что было описано нами в начале части 1 нашего Примера 02. Вроде бы и много чего делали,​ а на самом деле только выбирали ТОЧКУ ВВОДА и вставляли в неё макроИКОНКУ или то, что сохранили до этого в буфере.
 +
 +Но если пройдёмся по части 1 Примера 02, то увидим,​ что в процессе рисования схемы у нас появились новые приёмы работы с ТОЧКОЙ ВВОДА.
 +
 +3.     ​Взявшись за ТОЧКУ ВВОДА, мы можем пересадить лиану из одной ТОЧКИ ВВОДА маршрута в другую ТОЧКУ ВВОДА на маршруте.
 +
 +4.     Мы можем вставить скопированный ранее блок макроИКОНОК в нужную ТОЧКУ ВВОДА.
 +
 +====Виды ТОЧЕК ВВОДА====
 +
 +Но если посмотреть на точки ввода на схеме, то можем увидеть,​ что ТОЧКИ ВВОДА у нас всё-таки разные. Не все ТОЧКИ ВВОДА одинаковы. Вот посмотрим на эти разные точки ввода.
 +
 +Они могут выглядеть так – одна ТОЧКА ВВОДА строго по линии маршрута:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​1.png?​300x182}}
 +
 +
 +Или вот так – одна ТОЧКА ВВОДА – слева от линии макроИКОНКИ «Вариант»:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​2.png?​300x153}}
 +
 +
 +И даже так – две ТОЧКИ ВВОДА вместе слева и справа от линии последней макроИКОНКИ «Вариант»:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​3.png?​300x163}}
 +
 +
 +Есть и такая ТОЧКА ВВОДА – на горизонтальной линии маршрута:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​4.png?​150x106}}
 +
 +
 +В чём отличие этих ТОЧЕК ВВОДА?
 +
 +Ответ прост: отличие в Контекстном Меню. Каждая из этих точек позволяет делать только свои, определённые действия.
 +
 +Какие? А вот такие.
 +
 +Одна ТОЧКА ВВОДА строго по линии маршрута:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​5.png?​600x681}}
 +
 +
 +Можно сказать,​ что в этой ТОЧКЕ ВВОДА можно делать ПЯТЬ отдельных групп действий (в меню они разделены горизонтальными линиями):​
 +
 +1.     ​Работа с лианами,​ Ветками.
 +
 +a.     ​Пересадить лиану.
 +
 +b.     ​Разделить Примитив,​ Ветку.
 +
 +2.     ​Ввод из буфера.
 +
 +3.     ​Ввод обычных макроИКОНОК.
 +
 +4.     ​Ввод макроИКОНОК выбора дальнейших действий.
 +
 +5.     ​Ввод макроИКОНОК для работы с таймером.
 +
 +Оказывается,​ что макроИКОНКИ можно разделить на три вида: Обычные макроИКОНКИ,​ макроИКОНКИ выбора,​ макроИКОНКИ таймера.
 +
 +====Обычные макроИКОНКИ====
 +
 +1.     ​Обычные макроИКОНКИ:​
 +
 +a.     ​макроИКОНКА Действие.
 +
 +b.     ​макроИКОНКА Вставка.
 +
 +c.     ​макроИКОНКА Комментарий
 +
 +d.     ​макроИКОНКА Ввод
 +
 +e.     ​макроИКОНКА Вывод
 +
 +f.      макроИКОНКА Полка
 +
 +g.     ​макроИКОНКА Линии (ия) == Действий.
 +
 +Чтобы не возвращаться к этой теме, и чтобы знать: что мы вставить в ТОЧКУ ВВОДА посмотрим на вид этих макроИКОНОК:​
 +
 +a.     ​макроИКОНКА Действие.
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​6.png?​200x61}}
 +
 +
 +b.     ​макроИКОНКА Вставка.
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​7.png?​200x63}}
 +
 +
 +c.     ​макроИКОНКА Комментарий
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​8.png?​200x68}}
 +
 +
 +d.     ​макроИКОНКА Ввод
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​9.png?​200x84}}
 +
 +
 +e.     ​макроИКОНКА Вывод
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​10.png?​200x83}}
 +
 +
 +f.      макроИКОНКА Полка
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​11.png?​200x88}}
 +
 +
 +g.     ​макроИКОНКА Линии (ия) == Действий.
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​12.png?​300x99}}
 +
 +====МакроИКОНКИ Выбора====
 +
 +2.     ​макроИКОНКИ Выбора или Блоки макроИКОНОК:​
 +
 +a.     ​Развилка
 +
 +b.     ​Обычный цикл
 +
 +c.     ​Переключатель
 +
 +d.     ​Переключающий цикл
 +
 +e.     ​Цикл ДЛЯ
 +
 +Выглядят макроИКОНКИ Выбора так:
 +
 +a.     ​Развилка
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​13.png?​200x72}}
 +
 +
 +b.     ​Обычный цикл
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​14.png?​200x79}}
 +
 +
 +c.     ​Переключатель
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​15.png?​350x154}}
 +
 +
 +d.     ​Переключающий цикл
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​16.png?​400x184}}
 +
 +
 +e.     ​Цикл ДЛЯ
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​17.png?​200x118}}
 +
 +
 +Как видим макроИКОНКИ Выбора – это не просто макроИКОНКИ. Это несколько макроИКОНОК.
 +
 +Наверное,​ поэтому автор ИС Дракон Геннадий Тышев предлагает использовать для этих макроИКОНОК термин «Блок».
 +
 +Блок так блок. Будем называть эти макроИКОНКИ – БЛОКАМИ.
 +
 +====МакроИКОНКИ Таймера====
 +
 +3.     ​макроИКОНКИ Таймера:​
 +
 +a.     ​Пауза
 +
 +b.     ​Пуск таймера
 +
 +c.     ​Цикл ЖДАТЬ
 +
 +d.     ​Параллельный процесс
 +
 +Выглядят макроИКОНКИ Таймера так:
 +
 +a.     ​Пауза
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​18.png?​200x64}}
 +
 +
 +b.     ​Пуск таймера
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​19.png?​200x61}}
 +
 +
 +c.     ​Цикл ЖДАТЬ
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​20.png?​200x88}}
 +
 +
 +d.     ​Параллельный процесс
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​21.png?​200x106}}
 +
 +====ТОЧКА ВВОДА на горизонтальной линии====
 +
 +Рассмотрим сразу и ТОЧКУ ВВОДА – на горизонтальной линии маршрута:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​22.png?​150x106}}
 +
 +
 +Она выдаёт нам такое Контекстное Меню:
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​23.png?​400x511}}
 +
 +
 +То же самое меню, что и у ТОЧКИ ВВОДА на вертикальной линии маршрута.
 +
 +Значит это не отдельный случай ТОЧКИ ВВОДА, а просто одна и та же по виду ТОЧКА ВВОДА располагается в разных местах маршрута.
 +
 +====ТОЧКА ВВОДА на линии макроИКОНКИ «Вариант»====
 +
 +Рассмотрим ТОЧКУ ВВОДА – слева от линии макроИКОНКИ «Вариант»:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​24.png?​300x153}}
 +
 +
 +Посмотрим Контекстное Меню этой ТОЧКИ ВВОДА (правая клавиша мыши после выделения ТОСКИ ВВОДА):​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​25.png?​300x140}}
 +
 +
 +Небольшое Контекстное Меню. Просто предлагается вставить ещё одну макроИКОНКУ «Вариант».
 +
 +А в самом деле! Что ещё можно вставить на линии, где должны располагаться макроИКОНКИ «Вариант»?​ Только макроИКОНКУ «Вариант»! Вот это самое нам и предлагается.
 +
 +Следующая ТОЧКА ВВОДА тоже располагается по линии макроИКОНОК «Вариант». Меня терзают смутные сомнения
 +
 +Смотрим Контекстное меню у двух ТОЧЕК ВВОДА, которые располагаются вместе слева и справа от линии последней макроИКОНКИ «Вариант»:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​26.png?​300x163}}
 +
 +
 +Контекстное меню выглядит знакомым образом:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​27.png?​200x96}}
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​28.png?​200x103}}
 +
 +
 +Получается,​ что если ТОЧКА ВВОДА лежит на линии макроИКОНОК «Вариант»,​ то и вставить в эту ТОЧКУ ВВОДА можно только макроИКОНКУ «Вариант».
 +
 +====Обычные ТОЧКИ ВВОДА на обычном маршруте====
 +
 +Ещё раз пробежимся по действиям,​ которые мы можем выполнять с обычными ТОЧКАМИ ВВОДА на маршруте:​
 +
 +1.     ​Работа с лианами,​ Ветками.
 +
 +a.     ​Пересадить лиану. ЭТО действие мы уже выполняли в части 1 Примера 02.
 +
 +b.     ​Разделить Примитив,​ Ветку. Что это? Я этого действия не знаю.
 +
 +2.     ​Ввод из буфера. ЭТО мы уже пробовали.
 +
 +3.     ​Ввод обычных макроИКОНОК. ЭТИ макроИКОНКИ мы хотя бы внешне уже рассмотрели.
 +
 +4.     ​Ввод макроИКОНОК выбора дальнейших действий. ЭТИ макроИКОНКИ нам немного уже знакомы.
 +
 +5.     ​Ввод макроИКОНОК для работы с таймером. ЭТИ макроИКОНКИ мы видели,​ хотя и не знаем пока – зачем
 +
 +
 +====Действие «Разделить Примитив,​ Ветку»====
 +
 +Осталось непонятное действие «Разделить Примитив,​ Ветку». Проверим опытным путём – что это такое?
 +
 +Выберем ТОЧКУ ВВОДА на нашей схеме и попробуем выполнить действие «Разделить Примитив,​ Ветку»:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​29.png?​500x351}}
 +
 +Программа ИС Дракон ничего не сделает,​ но выдаст вот такое сообщение:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​30.png?​250x175}}
 +
 +
 +Что-то не делится уже готовая схема.
 +
 +Тогда перейдём поближе к началу нашей схемы. Выберем ТОЧКУ ВВОДА, выполним в ней действие «Разделить Примитив,​ Ветку»:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​31.png?​450x175}}
 +
 +
 +И неожиданно получим вот такую картинку:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​32.png?​800x589}}
 +
 +
 +Мы видим новую конфигурацию схемы.
 +
 +Что это за конфигурация – мы разберёмся позже. Сейчас для себя отметим,​ что вставляется новый кусок макроИКОНОК,​ а наша схема становится отдельной веткой новой конфигурации макроИКОНОК.
 +
 +Фактического материала достаточно. Можно рисовать по нему схему.
 +
 +====Начинаем Рисовать схему для ТОЧКИ ВВОДА====
 +
 +Мы выбираем ТОЧКУ ВВОДА.
 +
 +Какую ТОЧКУ ВВОДА мы выбрали?​
 +
 +У нас всего два варианта:​
 +
 +1.     ​Обычная ТОЧКА ВВОДА на линии между макроИКОНКАМИ
 +
 +2.     ​ТОЧКА ВВОДА на линии макроИКОНОК «Вариант».
 +
 +Вот это и набросаем на нашей новой схеме:
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​33.png?​600x376}}
 +
 + 
 +
 +Когда «ТОЧКА ВВОДА на линии макроИКОНОК «Вариант»,​ то мы можем выполнить всего одно действие:​ ввести макроИКОНКУ «Вариант»:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​34.png?​600x469}}
 +
 +====Рисуем варианты действий для обычной ТОЧКИ ВВОДА====
 +
 +А вот при выборе «Обычная ТОЧКА ВВОДА на линии между макроИКОНКАМИ»,​ как мы помним,​ у нас целых пять вариантов:​
 +
 +1.     ​Работа с лианами,​ Ветками.
 +
 +a.     ​Пересадить лиану.
 +
 +b.     ​Разделить Примитив,​ Ветку.
 +
 +2.     ​Ввод из буфера.
 +
 +3.     ​Ввод обычных макроИКОНОК.
 +
 +4.     ​Ввод макроИКОНОК выбора дальнейших действий.
 +
 +5.     ​Ввод макроИКОНОК для работы с таймером.
 +
 +Нарисуем возможность выбора из этих пяти вариантов:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​35.png?​800x326}}
 +
 +====Пункт «Работа с лианами,​ Ветками»====
 +
 +Нарисуем что мы можем сделать при варианте действий «Работа с лианами,​ Ветками»:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​36.png?​800x496}}
 + 
 +
 +Достаточно для описания работы с этими двумя пунктами меню?
 +
 +Маловато будет. Напишем:​ что произойдёт после выбора этих пунктов.
 +
 +Чисто для информации нам на будущее.
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​37.png?​800x654}}
 +
 +
 +Не очень информативно. Но надеюсь – это напомнит нам от том, что происходит при выборе этого пункта меню.
 +
 +Таким же способом нарисуем последствия выбора варианта «Разделить Примитив,​ Ветку»:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​38.png?​600x505}}
 + 
 +
 +Вот так мы показали,​ как добраться до нужного действия с ТОЧКОЙ ВВОДА и показали последствия совершения этого выбранного действия.
 +
 +Здесь мы рассмотрели два действия и последствия их применения:​
 +
 +a.     ​Пересадить лиану.
 +
 +b.     ​Разделить Примитив,​ Ветку.
 +
 +Продолжим работу с остальными действиями в нашей ТОЧКЕ ВВОДА.
 +
 +====Пункт «Ввод из буфера»====
 +
 +Что там у нас дальше?​ Ввод из буфера.
 +
 +Что у нас может быть в буфере?​ Одна макроИКОНКА или целый блок макроИКОНОК. С другими вариантами мы ещё не сталкивались. А может быть их и нет вовсе.
 +
 +Дорисуем действия под вариантом «Ввод из буфера»:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​39.png?​400x582}}
 +
 +Перейдём к остальным вариантам,​ ещё не раскрытым нами до конца.
 +
 +====Рисуем ввод обычных макроИКОНОК====
 +
 +Смотрим на вариант «Ввод обычных макроИКОНОК». Он распадается у нас на такие варианты ввода макроИКОНОК:​
 +
 +a.     ​макроИКОНКА Действие.
 +
 +b.     ​макроИКОНКА Вставка.
 +
 +c.     ​макроИКОНКА Комментарий
 +
 +d.     ​макроИКОНКА Ввод
 +
 +e.     ​макроИКОНКА Вывод
 +
 +f.      макроИКОНКА Полка
 +
 +g.     ​макроИКОНКА Линии (ия) == Действий.
 +
 +Многовато. Но делать нечего – рисуем:​
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​40.png?​800x330}}
 +
 +====Рисуем ввод макроИКОНОК Выбора====
 +
 +Перейдём к макроИКОНКАМ Выбора или к Блоку макроИКОНОК:​
 +
 +a.     ​Развилка
 +
 +b.     ​Обычный цикл
 +
 +c.     ​Переключатель
 +
 +d.     ​Переключающий цикл
 +
 +e.     ​Цикл ДЛЯ
 +
 +Рисуем так же:
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​41.png?​800x378}}
 +
 +====Рисуем ввод макроИКОНОК ТАЙМЕРА====
 +
 +Отработаем макроИКОНКИ Таймера:​
 +
 +a.     ​Пауза
 +
 +b.     ​Пуск таймера
 +
 +c.     ​Цикл ЖДАТЬ
 +
 +d.     ​Параллельный процесс
 +
 +Рисунок будет таким:
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​42.png?​800x584}}
 +
 +====ИТОГОВАЯ КАРТИНКА====
 +
 +Итоговая общая картина будет такой:
 +
 +{{http://​ec-1c.ru/​probachegollibo/​topics/​012715-2/​43.png?​800x189}}
 +
 +
 +На этом, в рамках данного примера,​ будем считать законченной работу с описанием возможностей ТОЧКИ ВВОДА в ИС Дракон.
 +
 +(Продолжение следует)
primer0202.txt · Последние изменения: 2015/01/28 17:04 — Александр Шилин