Программирование

ивт тяпимт лаба

Flk 13-01-2012 19:28

Ну разбей поле вывода на области количеством sqrt(<кол-во ф-ий> ) по вертикали и горизонтали (для 100 ф-ций это всего лишь 10х10) в центре каждой нарисуй прямоугольник с вписанным в него именем ф-ции и соедини их стрелками.

Привел бы картинку с "типо блок-схемой" можно было бы более точный и детальный совет дать.

Glas 13-01-2012 23:41

Вот все-таки придется картинку вложить)))
click for enlarge 476 X 320  15,1 Kb picture
Flk 14-01-2012 01:42

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

Ну вот, теперь понятнее. Если исключить вызов Ф2 из Ф3, то получим обычное дерево, если преподаватель хочет именно такой вид. При первом проходе строим дерево связей от main, добавляя к нему только новые элементы, вызываемые из известных, на втором проходе добавляем остальные связи (например обратные, как Ф2 из Ф3).
Отдельно надо решить задачу визуализации линий (т.е. исключить их слияние там, где не надо).

Если велосипед изобретать не надо, то есть такой проект "Graphviz - Graph Visualization Software" http://www.graphviz.org/ - ПО визуализации графов с открытыми исходниками.

Renegade 14-01-2012 12:40

Суть первой лабы неизвестна.

1. ANTRL-ом построить синтаксическое дерево и выяснить иерархию вызовов.
2. Построить дерево вызовов.
3. Сделать сериализатор дерева в SVG.
4. PROFIT!

Glas 14-01-2012 16:40

quote:
Originally posted by Renegade:

1. ANTRL-ом построить синтаксическое дерево и выяснить иерархию вызовов.
2. Построить дерево вызовов.
3. Сделать сериализатор дерева в SVG.
4. PROFIT!



И гвозди кувалдой забивать?