Мета:Уміти створювати та реалізовувати програми, що містять побудову графіків функцій.
Теоретичні відомості
Графічний екран дисплея складається з точок, що світяться різним кольором: пікселів. Кількість точок, що підтримує Turbo Pascal 640 по горизонталі і 480 по вертикалі, при чому точка з координатами (0;0) знаходиться в лівому верхньому куті екрану.
Для роботи з графічним екраном створений модуль Graph.Обов’язково потрібен файл egavga.bgi.
Графічний режим спочатку треба задати. Це виконують так:
Var driver, mode: integer; {для характеристики дисплея}
При побудові графіків функцій у ТР треба виходити з тих проблем, які виникають в співвідношенні декартової системи координат та графічним режимом роботи монітора. Є необхідність переведення декартових координат зі здвигом осі абсцис на 320 точок вправо, а осі ординат на 240 точок вниз, щоб початок координат бачити в центрі екрану. При чому для комп’ютера всі координати повинні бути цілими і додатними, а також прийняти до уваги зміну напрямку координати У.
При написанні програми спочатку малюють Декартові осі, а потім графіки задають промальовкою точок в циклі з параметром For зі зміною параметра від 1 до 640.
Розглянемо графік функції y=x. Це лінія, яка проходить через початок координат і знаходиться в І-й і ІІ-й чвертях декартової площини:
uses crt,graph;
var a,b,x:integer;
begin
a:=0;
initgraph(a,b,'{шлях до файлу egavga.bgi на диску}');
setcolor(2);
line(1,240,640,240);
line(640,240,630,245);
line(640,240,630,235);
outtextxy(300,10,'Y');
outtextxy(620,230,'X');
line(320,1,320,480);
line(320,1,315,10);
line(320,1,325,10);
for x:=1 to 640 do putpixel(x,240-(x-320),5);
readln;
closegraph;
end.
При побудові графіка функції y=x2 установлюють збільшення частоти точок для утворення злитої лінії графіка, тому значення аргументу беруть на порядок частіше:
for x:=1 to 640 do putpixel(x,trunc(240-sqr(x/10-320/10)),5);
При побудові графіка функції y=sin(x) установлюють розширення по Х, щоб розши-рити діапазон перегляду значень, з огляду на те, що функція приймає значення (-1;1) і при відсіканні дробної частини графік перетворюється в лінію:
putpixel(x,trunc(240- sin(x/50-320/50)*20),5);
При побудові tg(x) вирізають з графіка точку при якій cos(x)=0.