Помогите продумать алгоритм составления кода из блок схемы

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
ArtMeWork
Сообщения: 1
Зарегистрирован: 26 фев 2014, 16:51

26 фев 2014, 16:54

Итак, нужно сделать КП, тему выбрал составление блок схемы (с применением drag and drop) и вывод кода программы из блок схемы и наоборот. То есть сделать аналог программы diamFC.
Но возникли проблемы с условиями в условиях (if ... then begin if ... then begin ... end; end.
Хотелось бы узнать у других юзеров как бы они составили алгоритм программы.
Думал заморочиться с canvas`ом, но сделал сетку из image, чтобы блок схема была ровной.
Надеюсь в ближайшие дни тут напишут дельный алгоритм, времени осталось пару дней на перепись кода.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2551
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

26 фев 2014, 17:32

Какой еще алгоритм?! :)
В каком виде у Вас в памяти хранится рисуемое на экране? (динамические списки, деревья, массивы, коллекции, что?)
В момент дропания Image на Panel (или на что там у Вас) что еще происходит? Как хранится информация о связях между блоками, на основе чего и как отрисовываются стрелочки?

И бы хранил данные о блок-схеме в виде дерева, тогда простейший рекурсивный обход дерева давал бы мне код. Обходим дерево, на спуске ставим begin, или открываем блочный оператор, а на подъёме — закрываем его. Порядок ветвей узла считаем значимым — это порядок операторов.

В общем, резюме такое: уходите в академотпуск :) За 2 дня нормально это не делается.
Ответить