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

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

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

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


primer0202
Перевод этой страницы:

Примеры работы с ИС Дракон 02 часть 2

Пример 02. Придумываем и делаем очень простую Дракон-схему.

Часть 2. ТОЧКА ВВОДА.

Работа велась на ИС Дракон версии от 23.01.2015.

Разбираемся с ТОЧКОЙ ВВОДА.

Кстати. А что мы вставляем в ТОЧКУ ВВОДА? А макроИКОНКУ!

Но ТОЧКА ВВОДА используется нами не только для ввода макроИКОНОК.

Переберём наши действия нудно описанные в начале части 1 нашего Примера 02. И перечислим: что мы делали с ТОЧКОЙ ВВОДА.

1. Вставляем в ТОЧКУ ВВОДА – макроИКОНКУ. Причём – макроИКОНКА может быть разной!

2. Вставляем в ТОЧКУ ВВОДА то, что сохранили (скопировали) до этого в буфере.

И всё? Да. Это всё что было описано нами в начале части 1 нашего Примера 02. Вроде бы и много чего делали, а на самом деле только выбирали ТОЧКУ ВВОДА и вставляли в неё макроИКОНКУ или то, что сохранили до этого в буфере.

Но если пройдёмся по части 1 Примера 02, то увидим, что в процессе рисования схемы у нас появились новые приёмы работы с ТОЧКОЙ ВВОДА.

3. Взявшись за ТОЧКУ ВВОДА, мы можем пересадить лиану из одной ТОЧКИ ВВОДА маршрута в другую ТОЧКУ ВВОДА на маршруте.

4. Мы можем вставить скопированный ранее блок макроИКОНОК в нужную ТОЧКУ ВВОДА.

Виды ТОЧЕК ВВОДА

Но если посмотреть на точки ввода на схеме, то можем увидеть, что ТОЧКИ ВВОДА у нас всё-таки разные. Не все ТОЧКИ ВВОДА одинаковы. Вот посмотрим на эти разные точки ввода.

Они могут выглядеть так – одна ТОЧКА ВВОДА строго по линии маршрута:

Или вот так – одна ТОЧКА ВВОДА – слева от линии макроИКОНКИ «Вариант»:

И даже так – две ТОЧКИ ВВОДА вместе слева и справа от линии последней макроИКОНКИ «Вариант»:

Есть и такая ТОЧКА ВВОДА – на горизонтальной линии маршрута:

В чём отличие этих ТОЧЕК ВВОДА?

Ответ прост: отличие в Контекстном Меню. Каждая из этих точек позволяет делать только свои, определённые действия.

Какие? А вот такие.

Одна ТОЧКА ВВОДА строго по линии маршрута:

Можно сказать, что в этой ТОЧКЕ ВВОДА можно делать ПЯТЬ отдельных групп действий (в меню они разделены горизонтальными линиями):

1. Работа с лианами, Ветками.

a. Пересадить лиану.

b. Разделить Примитив, Ветку.

2. Ввод из буфера.

3. Ввод обычных макроИКОНОК.

4. Ввод макроИКОНОК выбора дальнейших действий.

5. Ввод макроИКОНОК для работы с таймером.

Оказывается, что макроИКОНКИ можно разделить на три вида: Обычные макроИКОНКИ, макроИКОНКИ выбора, макроИКОНКИ таймера.

Обычные макроИКОНКИ

1. Обычные макроИКОНКИ:

a. макроИКОНКА Действие.

b. макроИКОНКА Вставка.

c. макроИКОНКА Комментарий

d. макроИКОНКА Ввод

e. макроИКОНКА Вывод

f. макроИКОНКА Полка

g. макроИКОНКА Линии (ия) == Действий.

Чтобы не возвращаться к этой теме, и чтобы знать: что мы вставить в ТОЧКУ ВВОДА посмотрим на вид этих макроИКОНОК:

a. макроИКОНКА Действие.

b. макроИКОНКА Вставка.

c. макроИКОНКА Комментарий

d. макроИКОНКА Ввод

e. макроИКОНКА Вывод

f. макроИКОНКА Полка

g. макроИКОНКА Линии (ия) == Действий.

МакроИКОНКИ Выбора

2. макроИКОНКИ Выбора или Блоки макроИКОНОК:

a. Развилка

b. Обычный цикл

c. Переключатель

d. Переключающий цикл

e. Цикл ДЛЯ

Выглядят макроИКОНКИ Выбора так:

a. Развилка

b. Обычный цикл

c. Переключатель

d. Переключающий цикл

e. Цикл ДЛЯ

Как видим макроИКОНКИ Выбора – это не просто макроИКОНКИ. Это несколько макроИКОНОК.

Наверное, поэтому автор ИС Дракон Геннадий Тышев предлагает использовать для этих макроИКОНОК термин «Блок».

Блок так блок. Будем называть эти макроИКОНКИ – БЛОКАМИ.

МакроИКОНКИ Таймера

3. макроИКОНКИ Таймера:

a. Пауза

b. Пуск таймера

c. Цикл ЖДАТЬ

d. Параллельный процесс

Выглядят макроИКОНКИ Таймера так:

a. Пауза

b. Пуск таймера

c. Цикл ЖДАТЬ

d. Параллельный процесс

ТОЧКА ВВОДА на горизонтальной линии

Рассмотрим сразу и ТОЧКУ ВВОДА – на горизонтальной линии маршрута:

Она выдаёт нам такое Контекстное Меню:

То же самое меню, что и у ТОЧКИ ВВОДА на вертикальной линии маршрута.

Значит это не отдельный случай ТОЧКИ ВВОДА, а просто одна и та же по виду ТОЧКА ВВОДА располагается в разных местах маршрута.

ТОЧКА ВВОДА на линии макроИКОНКИ «Вариант»

Рассмотрим ТОЧКУ ВВОДА – слева от линии макроИКОНКИ «Вариант»:

Посмотрим Контекстное Меню этой ТОЧКИ ВВОДА (правая клавиша мыши после выделения ТОСКИ ВВОДА):

Небольшое Контекстное Меню. Просто предлагается вставить ещё одну макроИКОНКУ «Вариант».

А в самом деле! Что ещё можно вставить на линии, где должны располагаться макроИКОНКИ «Вариант»? Только макроИКОНКУ «Вариант»! Вот это самое нам и предлагается.

Следующая ТОЧКА ВВОДА тоже располагается по линии макроИКОНОК «Вариант». Меня терзают смутные сомнения

Смотрим Контекстное меню у двух ТОЧЕК ВВОДА, которые располагаются вместе слева и справа от линии последней макроИКОНКИ «Вариант»:

Контекстное меню выглядит знакомым образом:

Получается, что если ТОЧКА ВВОДА лежит на линии макроИКОНОК «Вариант», то и вставить в эту ТОЧКУ ВВОДА можно только макроИКОНКУ «Вариант».

Обычные ТОЧКИ ВВОДА на обычном маршруте

Ещё раз пробежимся по действиям, которые мы можем выполнять с обычными ТОЧКАМИ ВВОДА на маршруте:

1. Работа с лианами, Ветками.

a. Пересадить лиану. ЭТО действие мы уже выполняли в части 1 Примера 02.

b. Разделить Примитив, Ветку. Что это? Я этого действия не знаю.

2. Ввод из буфера. ЭТО мы уже пробовали.

3. Ввод обычных макроИКОНОК. ЭТИ макроИКОНКИ мы хотя бы внешне уже рассмотрели.

4. Ввод макроИКОНОК выбора дальнейших действий. ЭТИ макроИКОНКИ нам немного уже знакомы.

5. Ввод макроИКОНОК для работы с таймером. ЭТИ макроИКОНКИ мы видели, хотя и не знаем пока – зачем

Действие «Разделить Примитив, Ветку»

Осталось непонятное действие «Разделить Примитив, Ветку». Проверим опытным путём – что это такое?

Выберем ТОЧКУ ВВОДА на нашей схеме и попробуем выполнить действие «Разделить Примитив, Ветку»:

Программа ИС Дракон ничего не сделает, но выдаст вот такое сообщение:

Что-то не делится уже готовая схема.

Тогда перейдём поближе к началу нашей схемы. Выберем ТОЧКУ ВВОДА, выполним в ней действие «Разделить Примитив, Ветку»:

И неожиданно получим вот такую картинку:

Мы видим новую конфигурацию схемы.

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

Фактического материала достаточно. Можно рисовать по нему схему.

Начинаем Рисовать схему для ТОЧКИ ВВОДА

Мы выбираем ТОЧКУ ВВОДА.

Какую ТОЧКУ ВВОДА мы выбрали?

У нас всего два варианта:

1. Обычная ТОЧКА ВВОДА на линии между макроИКОНКАМИ

2. ТОЧКА ВВОДА на линии макроИКОНОК «Вариант».

Вот это и набросаем на нашей новой схеме:

Когда «ТОЧКА ВВОДА на линии макроИКОНОК «Вариант», то мы можем выполнить всего одно действие: ввести макроИКОНКУ «Вариант»:

Рисуем варианты действий для обычной ТОЧКИ ВВОДА

А вот при выборе «Обычная ТОЧКА ВВОДА на линии между макроИКОНКАМИ», как мы помним, у нас целых пять вариантов:

1. Работа с лианами, Ветками.

a. Пересадить лиану.

b. Разделить Примитив, Ветку.

2. Ввод из буфера.

3. Ввод обычных макроИКОНОК.

4. Ввод макроИКОНОК выбора дальнейших действий.

5. Ввод макроИКОНОК для работы с таймером.

Нарисуем возможность выбора из этих пяти вариантов:

Пункт «Работа с лианами, Ветками»

Нарисуем что мы можем сделать при варианте действий «Работа с лианами, Ветками»:

Достаточно для описания работы с этими двумя пунктами меню?

Маловато будет. Напишем: что произойдёт после выбора этих пунктов.

Чисто для информации нам на будущее.

Не очень информативно. Но надеюсь – это напомнит нам от том, что происходит при выборе этого пункта меню.

Таким же способом нарисуем последствия выбора варианта «Разделить Примитив, Ветку»:

Вот так мы показали, как добраться до нужного действия с ТОЧКОЙ ВВОДА и показали последствия совершения этого выбранного действия.

Здесь мы рассмотрели два действия и последствия их применения:

a. Пересадить лиану.

b. Разделить Примитив, Ветку.

Продолжим работу с остальными действиями в нашей ТОЧКЕ ВВОДА.

Пункт «Ввод из буфера»

Что там у нас дальше? Ввод из буфера.

Что у нас может быть в буфере? Одна макроИКОНКА или целый блок макроИКОНОК. С другими вариантами мы ещё не сталкивались. А может быть их и нет вовсе.

Дорисуем действия под вариантом «Ввод из буфера»:

Перейдём к остальным вариантам, ещё не раскрытым нами до конца.

Рисуем ввод обычных макроИКОНОК

Смотрим на вариант «Ввод обычных макроИКОНОК». Он распадается у нас на такие варианты ввода макроИКОНОК:

a. макроИКОНКА Действие.

b. макроИКОНКА Вставка.

c. макроИКОНКА Комментарий

d. макроИКОНКА Ввод

e. макроИКОНКА Вывод

f. макроИКОНКА Полка

g. макроИКОНКА Линии (ия) == Действий.

Многовато. Но делать нечего – рисуем:

Рисуем ввод макроИКОНОК Выбора

Перейдём к макроИКОНКАМ Выбора или к Блоку макроИКОНОК:

a. Развилка

b. Обычный цикл

c. Переключатель

d. Переключающий цикл

e. Цикл ДЛЯ

Рисуем так же:

Рисуем ввод макроИКОНОК ТАЙМЕРА

Отработаем макроИКОНКИ Таймера:

a. Пауза

b. Пуск таймера

c. Цикл ЖДАТЬ

d. Параллельный процесс

Рисунок будет таким:

ИТОГОВАЯ КАРТИНКА

Итоговая общая картина будет такой:

На этом, в рамках данного примера, будем считать законченной работу с описанием возможностей ТОЧКИ ВВОДА в ИС Дракон.

(Продолжение следует)

primer0202.txt · Последние изменения: 2015/01/28 17:04 — Александр Шилин