Выбор среды визуального программирования Visual Basic (VB) в качестве лабораторной среды обусловлен следующими соображениями.
Во-первых, язык Бейсик, на котором реализуются программные модули в VB, всем хорошо знаком и понятен, а сама оболочка Visual Basic достаточно популярна. (Для написания предлагаемых читателям листингов использована версия Visual Basic 6.0, которая в свое время распространялась по школам, но эти программы могут быть переписаны на новые версии VB или на другом языке программирования, в котором реализован функционал для работы с растровой графикой.)
Во-вторых, концепция визуального программирования позволяет легко и быстро «нарисовать» на экране интерфейс простейшего программного приложения, требуемого для испытания разрабатываемых алгоритмов (экранную форму, содержащую исходное изображение, поле для вывода результата и «пусковую» кнопку), сосредоточившись именно на самих алгоритмах графических преобразований.
Наконец, в третьих, Visual Basic предоставляет удобное средство загрузки на экранную форму исходного изображения из любого внешнего файла (например, формата BMP), не требуя разработки соответствующей подпрограммы и обращения к библиотекам работы с растровой графикой.
Методическая ценность использования Visual Basic в качестве лабораторной среды при изучении сложных алгоритмов также существенно повышается благодаря наличию в VB широкого набора встроенных средств отладки программ, что позволяет легко организовать отслеживание работы алгоритмов – в частности, контроль значений выбранных переменных. При этом режим отладки позволяет выполнять программу «по шагам» (по одной строке листинга при каждом нажатии клавиши F8), просматривая в отдельном окне выведенные системой отладки текущие значения отслеживаемых переменных.
Напомним, что управление средствами отладки сосредоточено в меню Debug (Отладка):
– пункт Add Watch (Добавить Наблюдателя) позволяет добавить любую из имеющихся в листинге переменных в список отслеживания значений (можно предварительно выделить в листинге имя требуемой переменной, тогда оно автоматически будет занесено в соответствующую графу окна добавления переменной, даже если выделенное имя не было скопировано в буфер обмена);