Интерфейс программы
В соответствии с поставленной задачей, программа имеет интуитивно понятный интерфейс. Главное окно программы при её запуске распахивается на весь экран. Оно имеет меню, все команды которого понятны человеку, имеющему опыт работы с Windows. Два дочерние окна полностью занимают его рабочую область.
Одно из дочерних окон называется "Описание" и в нём отображается содержимое находящегося в каталоге программы файла describe.txt. Данный файл содержит описание рассматриваемого алгоритма. В комплекте поставки программы имеются 2 файла описания алгоритма – по Вирту и по Романовскому. Окно оснащено двумя линейками скроллинга, которые дают возможность просматривать большие тексты.
Второе дочернее окно называется "Визуализатор". В этом окне имеются:
- Элементы управления – нажимающиеся кнопки.
- Динамическое изображение массива в виде ленты.
- Динамическое изображение массива в виде двоичного дерева (в соответствии с алгоритмом).
- Инструкции, появляющиеся и исчезающие по мере протекания процесса.
Предусмотрены 3 нажимающиеся кнопки. Кнопка "сбросить" служит для немедленного прекращения процесса визуализации. Кнопка "шаг" выполняет один очередной шаг (итерацию) алгоритма. Кнопка "авто" запускает итерации алгоритма друг за другом с определённой задержкой. Задержка задаётся в файле инициализации(см. далее).
Файл инициализации располагается в каталоге программы и называется visual.ini. Файл имеет 2 секции: [Visual] и [Font]. Секция [Visual] содержит следующие параметры. Параметр Number имеет значение количества элементов в сортируемом массиве. Параметр Delay имеет значение величины задержки (промежутка времени между итерациями при нажатии на кнопку "авто"). Секция [Font] имеет 3 параметра. Параметры Width, Height и Font имеют значения соответственно ширины, высоты и названия шрифта, которым выводится текст описания алгоритма в соответствующем окне.
Литература
1. Вирт Н. Алгоритмы и структуры данных. – М.: Мир, 1989.
2. Кнут Д. Е. Искусство программирования для ЭВМ, том 3. Сортировка и поиск. – М.: Мир, 1978.
3. Романовский И. В. Дискретный анализ. – СПб.: "Невский диалект", 1999.