Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра «Захисту інформації»


Звіт
Про виконання лабораторної роботи #2
На тему:
“ ПОБУДОВА ГРАФІКІВ ФУНКЦІЙ ЗАСОБАМИ МОВИ ТУРБО-ПАСКАЛЬ ”


Мета роботи: набути практичних навиків в складанні програм для побудови графіків функ-цій за допомогою засобів мови Турбо Паскаль.
Варіант: 8
N% п/п
Функція
Інтервал
Крок

8

t=[1;20]
h=0.1


Код програми:
Program lab2_graph;
Uses Crt, Graph;
Var Gd, Gm, xs, ys:integer;
x, xcrnt, xnxt, y, ycrnt, ynxt: extended;
t, h:real;
{s:string;}
Begin
clrscr;
Gd:=DETECT;
InitGraph(Gd, Gm, '');
if GraphResult = grOK then
begin
line (1,GetMaxY div 2,GetMaxX-2,GetMaxY div 2);
line (GetMaxX div 2,1,GetMaxX div 2,GetMaxY-2);
OutTextXY ((GetMaxX div 2)+10,(GetMaxY div 2)+10,'0');
line (319,1,317,10);
line (319,1,321,10);
OutTextXY (325,2,'Y');
line (639,239,629,237);
line (639,239,629,241);
OutTextXY (631,224,'X');
h:=0.1; t:=1.0;
xs:=GetMaxX div 2; ys:=GetMaxY div 2;
xcrnt:=5.0*(cos(t)-t*sin(t))+ln(t)+20.0*cos(t/4.0); xcrnt:=xcrnt+xs;
ycrnt:=5.0*(sin(t)+t*cos(t))-ln(t)+20.0*sin(t/4.0); ycrnt:=ycrnt+ys;
while t<=20.0 do
begin
x:=5.0*(cos(t)-t*sin(t))+ln(t)+20.0*cos(t/4.0);
y:=5.0*(sin(t)+t*cos(t))-ln(t)+20.0*sin(t/4.0);
xnxt:=x+xs; ynxt:=y+ys;
line(trunc(xcrnt),trunc(ycrnt),trunc(xnxt),trunc(ynxt));
{if (trunc(t) mod 5)=0 then s:='x:'+x+','+'y:'+y; OutTextXY(trunc(xcrnt),trunc(ycrnt),s);}
xcrnt:=xnxt; ycrnt:=ynxt; t:=t+h;
end;
end;
OutTextXY(1,2,'Job DONE!');
ReadLn;
CloseGraph;
End.
Блок-схема:
Ні Так
Ні
Так
Список ідентифікаторів констант, змінних, процедур і функцій, використаних в програмі та їх пояснення:
Sin() – ф-ія обчислення синуса.
Cos() – ф-ія обчислення косинуса.
Ln() – ф-ія обчислення логарифму.
Trunc()– ф-ія округлення дробового числа до цілого.
OutTextXY(x,y,’’) – вивід тексту на позиції (х,у).
t,h – інтервал і крок, відповідно.
line(x1,y1,x2,y2) – ф-ія, що будує лінію між точками (x1,y1) та (x2,y2).
gd,gm – ідентифікатори, які використовуються для визначення графічного драйверу та графічного режиму, відповідно.
x – значення функції х в поточний момент.
y – значення функції у в поточний момент.
xs – значення, які додаються до поточних значень х, щоб вивід функції здійснювався в центрі екрану.
ys – значення, які додаються до поточних значень y, щоб вивід функції здійснювався в центрі екрану.
xcrnt – поточне (збережене) значення х.
ycrnt – поточне (збережене) значення у.
xnxt – наступне значення х.
ynxt – наступне значення у.
Висновок:
На даній лабораторній роботі я згадав навички роботи в графічному середовищі мови програмування Турбо Паскаль та здійснив вивід на екран заданої функції.