
- •Лабораторная работа № 7 разработка паскаль-программ с использованием графических процедур и функций
- •7.1 Цель работы
- •7.2 Задание на лабораторную работу
- •7.3 Возможности и методы модуля Graph
- •7.3.2 Константы
- •7.3.3 Процедуры и функции
- •7.4 Требования к программе
- •7.5 Порядок выполнения работы
- •7.6 Размещение графической информации на экране
- •7.7 Алгоритм построения графика функции
- •7.8 Рекомендации по выполнению лабораторной работы
- •7.8.3. Поиск экстремумов нелинейных функций.
- •7.9 Варианты заданий
- •7.10 Содержание отчета
7.4 Требования к программе
Требования к программе:
- ввод данных в режиме диалога (при этом можно использовать текстовый режим),
- обработка ошибок при вводе данных и инициализации графического режима,
- вывод результатов в графической форме с использованием не менее трех цветов для оформления фона и элементов чертежа,
- вывод надписи над графиком: " График функции Y =...",
- вывод начальных и конечных значений аргумента и функции около осей координат (Хн, Хк, Yн, Yк на рис. 1).
7.5 Порядок выполнения работы
7.5.1 Спроектировать размещение текстовой и графической информации на экране, назначить координаты размещения, типы линий и цвета элементов изображения (п. 7.6).
7.5.2 Изучить структуру графической Паскаль-программы, а также графические процедуры и функции (п. 7.7).
7.5.3 Подготовить текст программы и отладить программу с использованием среды Турбо-Паскаля.
7.5.4 Оформить отчет (п. 7.10).
7.6 Размещение графической информации на экране
Перед разработкой текста программы следует спланировать расположение элементов изображения на экране:
- определить зоны для расположения графиков, текста (координаты и размеры) в соответствии с рис.1,
- задать типы и цвета линий; цвета, размеры, шрифты для текста; шаблоны (образцы) для заполнения (штриховки) областей рисунка и т.п.
Координаты точек должны быть заданы в системе координат экрана ХэОэYэ (положительное направление оси OY - вниз).
Рисунок 1 - Расположение элементов изображения на экране дисплея
Введем обозначения (рис.1 и рис.2):
- Ха, Ya - координаты точки А на графике заданной функции в декартовой системе координат XOY (в общем случае Ха, Ya - вещественные числа); Ха и Ya выражены в единицах измерения аргумента и функции соответственно;
- (Xн, Хк) - область изменения аргумента; Хн < Хк;
- ХэОэYэ - система координат экрана;
- Хэ,а, Yэ,а - координаты точки А на экране (в пикселах);
- Хэ,min, Хэ,max, Yэ,min, Yэ,mах - минимальные и максимальные значения координат точек на экране; максимальные значения определяются с помощью обращения к функциям GetMaxX и GetMaxY:
ХеМах := GetMaxX;
YeMax := GetMaxY;
-
Хэ,н, Хэ,к, Yэ,н, Yэ,к - границы прямоугольника
для вывода изображения на экран;
Хэ,min <= Хэ,н < Хэ,к <= Хэ,mах,
(1)
Yэ,min <= Yэ,н < Yэ,к <= Yэ,mах.
Для вьвода графика функции рекомендуется использовать центральную часть экрана; поясняющие надписи располагать сверху, слева и снизу. Значения Хэ,н, Хэ,к, Yэ,н, Yэ,к могут быть назначены следующим образом:
а) постоянными и равными минимальным и максимальным координатам экрана,
б) постоянными из имеющегося диапазона (1),
в) назначаемыми пользователем из диапазона (1) перед вьводом на экран и другими способами.
Рисунок 2
7.7 Алгоритм построения графика функции
Для получения графика требуемой функции рекомендуется следующий алгоритм построения графика функции:
1. Ввод границ изменения аргумента (Хн = А, Хк = В) и количества точек графика N. Вычисление шага изменения аргумента
h=(B-A)/N.
2. Оценка значений функции Yф,min и Yф,mах. Для линейных функций значения Ymin, Ymax находятся на границах интервала (Хн, Хк). Для нелинейных функций значения Ymin, Ymax следует найти, используя методы приближенного поиска экстремумов.
3. Определение масштаба по осям ОХ и OY соответственно:
Мх = (Хэ,к - Хэ,н) / (Хк - Хн); (2)
My =(Yэ,к - Yэ,н) / (Yф,max - Yф,min) (3)
4. Построение осей координат. Если нулевые значения аргумента и функции входят в диапазоны (Хн, Хк), (Yф,min, Yф,maх), то следует строить оси по точкам: (0, Yф,min), (О, Yф,mах) и (Хн, 0), (Хк, 0). В противном случае можно строить оси, начинающиеся в левом нижнем углу экрана (рис. 3). Нанести штрихи длиной Ds на оси ОХ и OY, отмечающие минимальное и максимальное значения аргумента и функции.
5. Задание начального значения аргумента Х = Хн; вычисление FX = f(x).
6. Преобразование координат начальной точки графика A=(X,FX) в систему координат экрана по формулам:
Ха=Ха-Хн; (4)
Yа=Yа-Yф,min; (5)
Хэ,а =X'a * mx + Хэ,н; (6)
Yэ,а=Yэ,к-Y'а*Му. (7)
В программе при выполнении вычислений следует учесть, что значения координат Хэ,а, Yэ,а должны быть целыми; вычисление Хэ,а и Yэ,а рекомендуется оформить в виде функций.
7. Перевод курсора в начальную точку графика (Хэ,а, Yэ,а).
8. Вычисление следующего значения аргумента Х = Х + h.
9. Если Х > Хк, то закончить построение графика.
10. Вычисление FX = f(х). Преобразование координат очередной точки графика (X, FX) в систему координат экрана по формулам (4,5,6,7).
11. Вычерчивание отрезка графика функции от предыдущей точки до очередной с использованием графических процедур и функций модуля Graph Турбо-Паскаля. Повторять операции пп.8 - 11, пока не выполнится условие п.9.
12. В верхней части экрана вывод текста:
"График функции Y =...".
Перед выполнением операций вывода какой-либо информации или изображения на экран следует установить тип, толщину и цвет линии, цвет фона, цвет и шрифт символов.
Рисунок 3