OutTextXY (x,y: integer; str: string) -процедура. Строка str выдается, начиная с позиции (х,у). Прочее как дляOutText
SetTextStyle (font,dir,gr:word) - процедура. Для следующего вывода текста задаются шрифтовой фонт, наклон и размер символов. Параметр Font может принимать значения 0,1,... 7 (или соответствующие обозначения констант:
defaulfont = 0, sansseriffont = 3,
triplexfont = 1, gothicfont = 4,
smallfont = 2 и др.).
Параметр Dir может принимать значения HorizDir = 0 (слева направо) или VertDir = 1 (снизу вверх, строка повернута на 90 градусов против часовой стрелки). Параметр gr может принимать значения NormSize = 1 (или 0) или 2, 3,...; в первом случае используются минимальные размеры выбранного шрифта (размеры по умолчанию).
SetUserCharSize (mx,dx,my,dy:word) -процедура. Устанавливает коэффициенты увеличения символов по осям OX, OY:
"Ширина символа новая" = "Ширина символа" * Мх / Dx,
"Высота символа новая" = "Высота символа" * My / Dy.
InstaIlUserFont (font: string) -процедура. Устанавливает шрифт символов, определенный пользователем. Все шрифты символов хранятся в файлах с расширением .CHR и по мере необходимости пользователь может устанавливать тот или иной шрифтовой фонт. В переменной font должно представлено имя файла с расширением .CHR, который необходимо использовать, например,
…
font := InstaIlUserFont ('russ.chr');
SetTextStyle (font,vertdir,2);
…
SetTextJustify (hor,vert:word) - процедура. Устанавливает параметры расположения строки относительно курсора.
Hor=0 (LeftText); Vert=0 (BottomText);
Hor=1 (CenterText ); Vert=1 (CenterText);
Hor=2 (RightText ); Vert=2 (TopText).
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. | ax2 + bx +c | |||
3. | exp(-x2/2) | |||
4. | ||||
5. | a*sin(x)+b | |||
6. | a-X, есш Х < (Хн +Хк)/ 2 a-X, есш Х³(Хн+Хк)/2 | |||
7. | а•x + cos(b•x) | |||
8. | exp (-a x) sin(b•x) | |||
9. | (exp(-x) + ехр(х)) / а | |||
10. | a•tg(b•x)-c | |||
11. | a•ctg(b•x) | |||
12. | а•sec(b • x) + с | |||
13. | а•cosec(b • x) | |||
14. | а • sin(x) + b • sm(2x) | |||
7.10 Содержание отчета
1) Постановку задачи на разработку программы, исходные данные для разработки.
2) Состав и структуру исходных данных и результатов.
3) Структурную схему программы.
4) Текст программы.