Визуальный язык ДРАКОНДружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность/Надёжность
Здесь показаны различия между двумя версиями данной страницы.
| — |
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}} | ||
| + | |||
| + | |||
| + | На этом, в рамках данного примера, будем считать законченной работу с описанием возможностей ТОЧКИ ВВОДА в ИС Дракон. | ||
| + | |||
| + | (Продолжение следует) | ||