- •Лабораторная работа № 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.8.3. Поиск экстремумов нелинейных функций.
Чтобы график заданной функции входил в предоставленное для его изображения окно, необходимо точно рассчитать масштабы Мх и My. Точность масштаба по оси Y (My) зависит от того, насколько точно будет произведен расчет граничных значений (экстремумов) функции Уф,min и Уф,mах в заданном диапазоне (Хн;Хк).
Если экстремумы линейных функций рассчитываются достаточно просто (для этого необходимо вычислить заданную функцию в границах изменения аргумента (Хн = А, Хк = В), то экстремумы нелинейных функций зависят от самих функций и могут находиться в середине введенного диапазона изменения аргумента.
Для нахождения экстремумов нелинейных функций рекомендуется следующий алгоритм поиска:
1. После ввода границ изменения аргумента (Хн = А, Хк = В) и количества точек графика N вычислить шаг изменения аргумента h.
h=(B-A)/N.
2. Задать начальное значения аргумента Х = Хн; вычислить FX = f(х), после чего полученное значение FX присвоить Yф,min и Yф,mах.
3. Вычислить следующее значения аргумента Х = Х + h.
4. Если Х > Хк, то закончить поиск экстремумов.
5. Вычислить FX = f(x); если FХ<Yф,min, то присвоить Yф,min значение FX, а также если FХ>Уф,mах, то присвоить Yф,mах значение FX. Повторять операции пп. 3-5, пока не выполнится условие п.4. На основе рассмотренного алгоритма можно использовать следующий вариант реализации.
program prog_graph;
uses Graph, Crt,......;
var grDriv, grMod : integer;
код
графического режима
код видеографического устройства
{ Процедуры и функции }
function F(var x: real) : real
begin
… { Вычисление заданной функции }
end;
…
procedure Extr (Xmin,Xmax:real;count:integer; var Ymin,Ymax:real;dx:real);
var Y: real;
begin dx:= (Xmax-Xmin)/count;
Ymin := F(Xmin);
Ymax := Ymin;
while (Xmin+dx)<=Xmax do
begin Xmin := Xmin+dx;
Y:=F(Xmin);
if Y<Ymin then Ymin := Y;
if Y>Ymax then Ymax := Y;
end;
end;
begin
write('Bведите XN, XK:'); { Ввод исходных данных}
readln(Xn, Xk); { в текстовом режиме } write('Bведите количество точек графика:');
readln(N);
{—— Запуск процедуры вычисления экстремумов -——-) Extr(Xn,Xk,N,Yn,Y,h);
end.
7.9 Варианты заданий
Таблица 25
№ вар. |
Функция |
Количество шрифтов (не менее) |
Количество размеров шрифтов (не менее) |
|
1. |
ax+b/x |
2 |
1 |
|
2. |
ax2 + bx +c |
1 |
2 |
|
3. |
exp(-x2/2) |
2 |
2 |
|
4. |
|
2 |
1 |
|
5. |
a*sin(x)+b |
1 |
2 |
|
|
a-X, есш Х < (Хн +Хк)/ 2 a-X, есш Х(Хн+Хк)/2 |
2 |
2 |
|
7. |
а•x + cos(b•x) |
2 |
1 |
|
8. |
exp (-a x) sin(b•x) |
1 |
2 |
|
9. |
(exp(-x) + ехр(х)) / а |
2 |
2 |
|
10. |
a•tg(b•x)-c |
2 |
1 |
|
11. |
a•ctg(b•x) |
1 |
2 |
|
12. |
а•sec(b • x) + с |
2 |
2 |
|
13. |
а•cosec(b • x) |
2 |
1 |
|
14. |
а • sin(x) + b • sm(2x) |
1 |
2 |
|

6.