|
|
Главная / Визуализаторы / Построение визуализатора алгоритма поразрядной сортировки набора целых чисел на базе технологии Vizi
(версия для печати)
Построение визуализатора алгоритма поразрядной сортировки набора целых чисел на базе технологии Vizi
© Г.Г. Удов, А.А. Шалыто
Санкт-Петербургский государственный университет информационных технологий, механики и оптики
Проектная документация в формате PDF
Визуализатор (online)
Аннотация
Визуализатор это программа, позволяющая удобно и наглядно изучать работу некого алгоритма, демонстрируя его выполнение на неком наборе данных. На кафедре «Компьютерные технологии» СПбГУ ИТМО предложена технология Vizi для автоматизации построения визуализаторов алгоритмов. В настоящей работе применение этой технологии продемонстрировано на примере разработки визуализатора алгоритма пирамидальной сортировки набора целых чисел. Хотелось бы отметить ряд преимуществ использования технологии Vizi перед реализациями, написанными вручную «с нуля»
- построение по XML-описанию «прямого» алгоритма визуализатора не только его прямого прохода, но и обратного;
- логика алгоритма реализована с помощью четырёх автоматов, по два («прямой» и «обратный») для каждой процедуры. Общее число состояний у автоматов равно 46. Каждый автомат реализуется двумя операторами switch;
- описание алгоритма при помощи языка XML позволяет автоматически вводить комментарии в код (отличающиеся от комментариев, вводимых для визуализации), а особенности валидации XML-кода технологией Vizi делают написание этих комментариев неизбежным, что значительно повышает читабельность кода, а следовательно упрощает его дальнейшее сопровождение;
- привязка к состояниям комментариев и действий по отрисовке также осуществляется автоматически с помощью дополнительных операторов switch;
- использование для построения визуализаторов единой технологии стандартизирует процесс разработки и позволяет во многих случаях избежать дублирования кода, уменьшая вероятность появления ошибок;
- стандартный эргономичный интерфейс визуализаторов имеет большое значение и обуславливает удобство изучения коллекций визуализаторов алгоритмов;
- компактность XML-описания 9 страниц этого описания против 25 страниц соответствующего (автоматически сгенерированного) исходного кода.
|