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