Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность/Надёжность
Тезис 1. Иконы — визуальные буквы, образующие визуальный алфавит языка ДРАКОН, представленные на рис. 1.
Тезис 2. Заготовка-примитив и заготовка-силуэт — фигуры, показанные на рис. 115.
Предварительный тезис 3. Примитив — фигура, полученная путем преобразования заготовки-примитив за конечное число шагов с помощью фиксированного набора операций (перечисленных ниже в тезисе 36).
Предварительный тезис 4. Силуэт — фигура, полученная путем преобразования заготовки-силуэт за конечное число шагов с помощью фиксированного набора операций (перечисленных ниже в тезисе 37).
Тезис 5. Дракон-схема — общее понятие для обозначения примитива и силуэта.
Тезис 6. Шампур-блок — часть дракон-схемы, имеющая один вход сверху и один выход снизу, содержащая одну или несколько икон, причем:
Тезис 7. Главная вертикаль шампур-блока — вертикаль, соединяющая его вход и выход. Остальные вертикали, если они есть, находятся правее главной. Все вертикали шампур-блока ориентированы сверху вниз, кроме цепей, используемых для организации петли цикла.
Тезис 8. Атомы — фигуры, изображенные на рис. 122. Эти фигуры используются в операции “ввод атома”. Любой атом является шампур-блоком.
Тезис 9. Валентная точка — точка, принадлежащая заготовке или дракон-схеме, в которой разрешается произвести разрыв соединительной линии, чтобы в место разрыв вставить атом с помощью операции “ввод атома”.
Тезис 10. Ввод атома — преобразование заготовки или дракон-схемы, выполняемое следующим образом: производится разрыв соединительной линии в валентной точке и в это место вставляется атом, как показано на рис. 116.
Тезис 11. Атомы делятся на простые и составные. Простой атом состоит из одной иконы, составной содержит не менее двух (рис. 122).
Тезис 12. Функциональный атом — простой атом, не являющийся пустым оператором. Таковы все простые атомы, кроме комментария.
Тезис 13. Составные атомы бывают пустые и непустые. В непустом есть хотя бы один функциональный атом. В пустом нет ни одного.
Тезис 14. В полностью законченной дракон-схеме не должно быть ни одного пустого атома (так как последний эквивалентен пустому оператору). Пустые атомы разрешается использовать на всех этапах построения дракон-схемы, кроме заключительного.
Тезис 15. Валентные точки делятся на нейтральные и критические.
Тезис 16. Точка называется нейтральной, если применение операции “ввод атома” к данной точке является возможным, но не обязательным. В отличие от нее критическая точка требует обязательного ввода атома.
Тезис 17. Валентные точки находятся в заготовках и атомах. Они показаны на рис. 115 и рис. 122, где нейтральные точки обозначены светлыми кружками, критические — жирными точками.
Тезис 18. Если в фигуре (заготовке или атоме) одна критическая точка, ввод атома обязательно производится именно в нее; при этом крити-ческая точка уничтожается. Если фигура имеет две критические точки, обязательный ввод атома делается только в одну из них; при этом критическая точка, в которую произведен ввод, уничтожается, а другая критическая точка нейтрализуется, т. е. становится нейтральной.
Тезис 19. Полная совокупность критических точек охватывает:
Тезис 20. Полная совокупность нейтральных точек охватывает:
Тезис 21. Операция “ввод атома” применяется для ввода только простых и пустых атомов, а также цикла ЖДАТЬ. Ввод непустого атома осуществляется в два этапа; сначала вводится пустой атом, затем в его критическую точку вводится функциональный атом.
П о я с н е н и е. Ввод пустого атома — очень удобный строительный прием. Он позволяет обеспечить богатство и разнообразие создаваемых дракон-схем и используемых в них конфигураций. Среди последних особую роль играет так называемая “матрешка”.
Тезис 22. Матрешка — фигура, полученная путем ввода пустого атома в критическую точку пустого атома, а также путем многократного вложения пустых и непустых атомов друг в друга (рис. 123).
Тезис 23. Матрешка бывает пустой (если все содержащиеся в ней атомы пустые), частично пустой (если в ней есть как пустые, так и непустые атомы) и непустой (если все ее атомы непустые). См. рис. 124-126.
П о я с н е н и е. После того как пользователь эффективно использо-вал пустые атомы для придания дракон-схеме желаемой конфигурации, он должен убрать их из схемы.
Тезис 24. Чтобы устранить пустые атомы из дракон-схемы, есть два способа:
Тезис 25. Устранение из дракон-схемы пустых атомов автоматически приводит к уничтожению всех критических точек.
Тезис 26. Лиана — часть дракон-схемы, имеющая один вход и один выход, именуемые “началом лианы” и “концом лианы” соответственно. Началом лианы может быть любой выход икон “вопрос” и “вариант”, если он (выход) не является петлей цикла. Концом лианы считается точка слияния, в которой нижняя часть лианы соединяется с другой линией (концом лианы не может быть неразветвлённый вход иконы).
Тезис 27. Лиана может быть нагруженной (если она содержит иконы) и ненагруженной (если это просто линия).
Тезис 28. Пересадка лианы — преобразование дракон-схемы, выполняемое за четыре шага.
Шаг 1. Производится отрыв конца лианы от точки присоединения (рис. 119).
Шаг 2. Конец лианы с помощью вертикальных и горизонтальных линий присоединяется к любой валентной точке, куда лиана может дотянуться без пересечения с другими линиями (рис. 119). При этом запрещается:
Однако разрешается строить новый путь из середины обычного цикла к единственному входу в этот цикл, создавая визуальный эквивалент оператора continue языка СИ (см. рис. 90, пример 7, а также рис. 41).
Шаг 3. Производится эквивалентное преобразование топологии дракон-схемы, чтобы лиане не пришлось загибаться наверх (рис. 128) и соблюдались правила построения шампур-блока (рис. 129).
Шаг 4. Устраняются неоправданные изломы линий (рис. 130).
Тезис 29. Заземление лианы — преобразование дракон-схемы, выполняемое за четыре шага.
Шаг 1. Производится отрыв конца лианы от точки присоединения (рис. 120).
Шаг 2. Конец лианы с помощью вертикальной линии присоединяется к любой точке нижней горизонтальной линии силуэта, куда он может дотянуться, не пересекая другие линии.
Шаг 3. Производится разрыв линии в нижней части лианы и в место разрыва вставляется икона “адрес” (рис. 120).
Шаг 4. Устраняются неоправданные изломы линий.
Тезис 30. Боковое присоединение — преобразование дракон-схемы, с помощью которого в схему добавляются иконы “синхронизатор” или “формальные параметры”.
Икона “синхронизатор” размещается слева от другой иконы и соединяется с ней горизонтальным отростком. Перечень икон, к которым осуществляется боковое присоединение синхронизатора, показан на рис. 2 (п. 8-20).
Икона “формальные параметры” размещается справа от иконы “заголовок” и соединяется с ней горизонтальным отростком, как показано на рис. 2 (п. 1).
Тезис 31. Добавление варианта — преобразование дракон-схемы, с помощью которого в атом “переключатель” добавляется еще одна икона “вариант”. Число добавлений не более 14, так что максимальное число вариантов в переключателе равно 16.
Тезис 32. Добавление ветки — преобразование силуэта, в который добавляется еще одна ветка. Число добавлений не более 14, так что максимальное число веток в силуэте равно 16.
Тезис 33. Удаление последней ветки — преобразование силуэта, при котором удаляется крайняя правая ветка. Этот прием используется при описании бесконечного параллельного процесса, как показано в примерах на рис. 88 и рис. 89.
Тезис 34. Удаление конца примитива — преобразование примитива, при котором удаляется икона “конец”. Это необходимо для описания бесконечного параллельного процесса.
Тезис 35. Дополнительный вход — преобразование силуэта, с помощью которого добавляется еще одна икона “заголовок”, которая размещается над любой иконой “имя ветки” (кроме левой) и соединяется с ней вертикальным отростком. При этом на верхней горизонтальной линии силуэта рисуют направленную вправо стрелку, как показано в примере на рис. 84 справа.
О г р а н и ч е н и е. При наличии веточного цикла запрещается присоединять дополнительный заголовок к середине веточного цикла.
Тезис 36. Любая правильно построенная дракон-схема “примитив” является результатом преобразования заготовки-примитив с помощью конечного числа операций: ввод атома, пересадка лианы, добавление варианта, боковое присоединение, удаление конца примитива.
Тезис 37. Любая правильно построенная дракон-схема “силуэт” является результатом преобразования заготовки-силуэт с помощью конечного числа операций: ввод атома, добавление ветки, пересадка лианы, заземление лианы, добавление варианта, боковое присоединение, удаление последней ветки, дополнительный вход.
П о я с н е н и е. Тезисы 36 и 37 могут рассматриваться как окончательные определения понятий “примитив” и “силуэт”.