Задачей
работы являлось разработка приложения, которое позволило бы быстро строить
график введённого пользователем выражения и наглядно наблюдать за его
перемещением при изменении значений параметров. При этом особое внимание было
уделено вопросам производительности вычислений и качества рисуемого графика. Приложение разработано на языке С++ с использованием
WinAPI. Для этого был использован собственный базовый класс Window,
инкапсулирующий оконную процедуру, и все основные окна приложения реализованы в
классах, унаследованных от него. Один
из самых важных компонентов программы – это класс Megacalculator, отвечающий за
процесс компиляции. Строка, введённая в программу пользователем, отправляется в
Megacalculator, который выполняет её синтаксический разбор и генерирует
машинный код для процессора Intel 80386. Данный компонент позволяет компилировать
выражения, содержащие различные арифметические операции, такие как сумма,
произведение, возведение в степень и т.д. Присутствует возможность использования
математических функций и констант. Одной из приоритетных задач работы являлось увеличение
качества рисуемого графика и избежание артефактов. Поэтому MathTools предлагает
на выбор три различных алгоритма построения графика: с постоянным шагом, с
переменным шагом и рекурсивный алгоритм. Все они отличаются скоростью
построения и качеством графика. Приложение
MathTools обеспечивает быстрое и качественное построение графиков
математических функций, по введённому пользователем выражению. Для повышения
производительности используется компиляция в машинный код процессора. Программа
позволяет добавлять в функцию дополнительные параметры и наглядно наблюдать
зависимость графика от их значений. Для повышения качества рисуемого графика,
программа предлагает три различных алгоритма его построения. Сайт программы MathTools Скачать программу |