Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра «Захисту інформації»
Звіт Про виконання лабораторної роботи #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 – наступне значення у. Висновок: На даній лабораторній роботі я згадав навички роботи в графічному середовищі мови програмування Турбо Паскаль та здійснив вивід на екран заданої функції.