DRAKON.SU
https://forum.drakon.su/

Использование веточных циклов. А если в функции ?
https://forum.drakon.su/viewtopic.php?f=78&t=3901
Страница 1 из 1

Автор:  Steelvan [ Воскресенье, 18 Март, 2012 18:52 ]
Заголовок сообщения:  Использование веточных циклов. А если в функции ?

Добрый день.

При использовании ДРАКОН обратил внимание на то, что можно обойтись без веточных циклов при использовании выноса общего кода (общей ветки) в функции.
Или изменить предварительный код перед использованием общего кода.

Во вложении обработанный пример из книги.

Если веточный цикл не использовать, а использование веток всегда будет идти слева на право, то (на мой взгляд) можно при создании кода обойтись без GOTO. Т.е. выпрямлять силует до примитива и сплошняком описывать.

Вот получилось два вопроса :)

Вложения:
Пример из книги без веточного цикла.png
Пример из книги без веточного цикла.png [ 12.7 КБ | Просмотров: 9923 ]
Без веточного цикла Исходник.JPG
Без веточного цикла Исходник.JPG [ 55.06 КБ | Просмотров: 9923 ]

Автор:  Steelvan [ Воскресенье, 18 Март, 2012 18:54 ]
Заголовок сообщения:  Re: Использование веточных циклов. А если в функции ?

Готов рассмотреть примеры, где автор укажет невозможность отказа от ссылок на ветки, находящиеся слева, путем использования функций.

Автор:  Steelvan [ Понедельник, 19 Март, 2012 12:35 ]
Заголовок сообщения:  Re: Использование веточных циклов. А если в функции ?

Мои предложения:

В блоке «Адрес» можно использовать только ссылку на следующую справа ветку.

Вложения:
Первое правило использования веток.png
Первое правило использования веток.png [ 16.86 КБ | Просмотров: 9879 ]

Автор:  Steelvan [ Понедельник, 19 Март, 2012 12:37 ]
Заголовок сообщения:  Re: Использование веточных циклов. А если в функции ?

И второе:
Общие ветки должны быть вынесены в функции.

Вложения:
Второе правило использования веток.png
Второе правило использования веток.png [ 35.59 КБ | Просмотров: 9877 ]

Автор:  Steelvan [ Понедельник, 19 Март, 2012 12:38 ]
Заголовок сообщения:  Re: Использование веточных циклов. А если в функции ?

Вот и нет оператора GOTO при формировании кода.
Весь код идет последовательно.

Автор:  Владислав Жаринов [ Понедельник, 19 Март, 2012 12:41 ]
Заголовок сообщения:  Re: Использование веточных циклов. А если в функции ?

Steelvan писал(а):
...
Если веточный цикл не использовать, а использование веток всегда будет идти слева на право, то (на мой взгляд) можно при создании кода обойтись без GOTO. Т.е. выпрямлять силует до примитива и сплошняком описывать.

Вот получилось два вопроса :)
Вы правильно думаете... :) Есть и два ответа:
:wink:
От межветочных БП Вы, видимо, и хотите избавиться. С этим согласен. В коде если и нужны БП, то другие - для сегментации при размещении в блочно-распределяемой памяти.
Народ о выносе части содержимого циклов (не только веточных) во вставки (в т.ч. и функции) говорит давно. Вероятно ,это должно делаться прежде всего в рамках процедурной декомпозиции (т.е. логики) - а уж потом для удобства компоновки дракон-схем на диосценах ("физики")... :)

Автор:  Владислав Жаринов [ Понедельник, 19 Март, 2012 12:44 ]
Заголовок сообщения:  Re: Использование веточных циклов. А если в функции ?

Steelvan писал(а):
Вот и нет оператора GOTO при формировании кода.
Весь код идет последовательно.
А, это за счёт введения флага? А может, надо найти здесь "сложность поведения", как делают "автоматчики"... и реализовать автомат? Или это исключительно так сделано из-за особенностей трансляции в данном редакторе?

Автор:  Steelvan [ Понедельник, 19 Март, 2012 13:35 ]
Заголовок сообщения:  Re: Использование веточных циклов. А если в функции ?

Спасибо за ссылки.

Автор:  Steelvan [ Понедельник, 19 Март, 2012 13:40 ]
Заголовок сообщения:  Re: Использование веточных циклов. А если в функции ?

Мое стремление отойти от GOTO связано с ориентацией на использование схем в связке с самым популярным в России транслятором (1С).

Цель - получение человекочитаемого кода при его автоматическом формировании из схемы, т.к. код с использованием многих GOTO просто не разобрать.
А мой код будут еще 10 человек смотреть и материть :)

Автор:  Владислав Жаринов [ Понедельник, 19 Март, 2012 13:57 ]
Заголовок сообщения:  Re: Использование веточных циклов. А если в функции ?

Ну да. Там ведь будут сущности, которые не нужны на данном ("предметном") уровне рассмотрения вопроса. :) Это так же, как я сделал в статье насчёт маршрутов - есть те же соединители/разветвители как вершины схемы и есть то, что стоит за ними - контактирование маршрутов (которое можно реализовать через БП). А для удобства чтения и как вершины их можно не показывать - как и определено было в техноязыке... При изучении алгоритмов разобрали как следует, уяснили - и достаточно.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/