Меню сайта |
|
|
|
Форма входа |
|
|
|
Статистика |
|
Онлайн всего: 1 Гостей: 1 Пользователей: 0
|
|
|
Приветствую Вас, Гость · RSS |
26.04.2024, 17:03 |
Однажды мне пришлось сделать студентам контрольные работы по
программированию. Стандартное требование к таким работам - наличие
блок-схемы к программе. Раньше я уделял рисованию блок-схем порядка
15-20 минут. В Word`е надо создать фигуру для каждой команды, мало того,
туда надо добавить текст из программы, а это значит, что его надо
выделить, скопировать и вставить. И так для каждой команды...
утомительная работа, иногда на работу над схемой уходило больше
получаса!!!
Шло время, и однажды я пришел к мысли: "а ведь я могу облегчить себе
труд по построению блок-схем! Достаточно определить в программе
стандартные операторы и нарисовать для них соответствующие фигуры".
Так я и сделал - в Ворде я отрисовывал в нужной последовательности
нужные фигуры и добавлял в них рамку для текста. Но сам текст вставлял
по прежнему с помощью копипасте, правильно располагал фигуры
относительно друг друга тоже вручную, и, конечно же, вручную рисовал
линии соединения блоков.
Дальше мне стало просто интересно - разобрать построение кода так, чтобы
моя программа сама определяла, какой текст надо вставить в блок, и
главное - где его расположить! После долгих мучений - это удалось,
правда, пришлось рисовать блок-схему не в Ворде, а в Excel, т.к. размеры
листа в Ворде ограничены, а в Excel - практически нет. И теперь
программа сама рисует блоки, текст в них и даже линии соединения между
блоками. Ну и располагает каждую новую процедуру/функцию на новом листе
Excel.
У программы есть ряд недостатков - она рисует блок схемы только в MS
Office, точнее, сначала рисует их в Excel, затем, при желании
пользователя, копирует их в Word или JPG. Мне еще ни разу не пришлось
столкнуться с потребность сделать из блок-схемы именно рисунок, но если у
кого-то такая потребность возникнет - вы можете легко скопировать
выделенную блок схему и вставить её в MS Paint как рисунок.
Еще один недостаток - она рисует блоки одного размера, и бывает так, что
текст полностью не помещается в объект. Эту проблему я еще не решил...
О!!! Уже решил.
Теперь программа при необходимости расширяет фигуры под размер текста.
|