У вас вопросы?
У нас ответы:) SamZan.net

Лабораторна робота 16 Побудова графіків функцій Мета роботи- навчитися будувати графіки функцій у се

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.2.2025

абораторна робота № 16

Євтушенко Михайло, ТМ-21

Лабораторна робота № 16   Побудова графіків функцій

Мета роботи: навчитися будувати графіки функцій у середовищі Turbo Pascal засобами графічної бібліотеки Graph.

Завдання: розробити алгоритм побудови графіка заданої функції шляхом її табулювання й застосування програм бібліотеки Graph. Алгоритм реалізувати за допомогою окремих підпрограм:

— задання проміжку  з області визначення функції (відрізок не повинен містити точок, в яких функція не визначена; передбачити перевірку правильності введення значень  і ; значення вводити в циклі, доки вони не будуть введені правильно) і одержання табличних значень заданої функції на цьому проміжкові;

— визначення границь зміни значень функції для знаходження меж графіка — знаходження найбільшого й найменшого значень функції серед табличних значень;

— побудови графіка функції на основі табличних значень з використанням бібліотечних графічних підпрограм і функцій. Графік побудувати в окремому графічному вікні, зробивши відступи від краю екрана (наприклад, на 10% його розмірів). По центру вікна розмістити координатні осі з розміткою через деякі проміжки і на координатних осях зробити підписи. Відносно координатних осей, враховуючи, що вони перетинаються в точці (0,0), розмістити зображення графіка функції. При цьому табличні значення функції перерахувати в значення пікселів графічного вікна, враховуючи, що екранні вертикальні координати збільшуються від верхнього до нижнього краю екрана.

Глобальні змінні не використовувати.

Передбачити виконання програми доти, поки на запит, продовжувати роботу 'y' чи ні 'n', користувач не відповість 'n'. За допомогою програми провести побудову графіків не менше, ніж на 4 різних проміжках.

Варіант№8

8. при

Текст програми:

program lab_16;

uses crt,graph;

const n=100;

type mas=array[0..n] of real;

var g_xmax,g_ymax:word;{kilkist pikseliv na ekrani po horyzontali ta

po vertykali}

   x,y:mas;{tablytsia znachen funktsii}

   x0,xn,ymin,ymax:real;{naibilshi ta naimenshi znachennia x i y}

procedure tabfun(n:integer;var x,y:mas;var x0,xn:real);

{tabuliuvannia funktsii}

var h:real;{krok}

   i:integer;

begin

 writeln('funktsia f(x)=x^2+3x-1');

 writeln('zadaite promizhok[x0,xn]-vvedit znachennia x0 i xn');

 readln(x0,xn);

 h:=(xn-x0)/n;

 for i:=0 to n do

   begin x[i]:=x0+h*i;y[i]:=x[i]*x[i]+3*x[i]-1;end;

end;

procedure yminmax(n:integer; x,y:mas;var ymin,ymax:real);

{vyznachennia hranyts zminy znachennia funktsii}

var i: integer;

begin

 ymin:=y[0];

 ymax:=y[0];

 for i:=1 to n do

   if y[i]<ymin then ymin:=y[i]

   else if y[i]>ymax then ymax:=y[i];

end;

procedure graphik(var x,y:mas; n:integer; x0,xn,ymin,ymax:real);

{pobudova graphika}

var driver,mode:integer;

   g_xmas,g_ymas:integer;{rozmiry ekrana v pikseliah}

   x1,x2,y1,y2,hx,hy:integer;{kordynaty i rozmiry vikna v pikseliah}

   mx,my:real;{maksymum absolutnoi velychynu}

   m_ox,m_oy:real;{masshtab:kilkist pikseliv na odynytsy po osi ox i oy}

   i:integer;

begin

 driver:=detect;

 InitGraph(driver,mode,'E:\tp\BGI');

 g_xmax:=GetMaxX; g_ymax:=GetMaxY;

 x1:=round(0.1*g_xmax);x2:=g_xmax-x1;

 y1:=round(0.1*g_ymax);y2:=g_ymax -y1;

 hx:=x2-x1; hy:=y2-y1

 SetViewPort(x1,y1,x2,y2,ClipOn);

 OutText('hrafik funktsii f(x)=x^2+3x-1');

 SetColor(15);SetLineStyle(0,0,1);

 MoveTo(0,hy div 2);LineRel(hx,0);

 MoveTo(hx div 2,0);LineRel(0,hy);

 if abs(x0)>abs(xn)then mx:=abs(x0) else mx:=abs(xn);

 m_ox:=hx/(2*mx);

 if abs(ymin)>abs(ymax)then my:=abs(ymin)else my:=abs(ymax);

 m_oy:=hy/(2*my);

 SetColor(13); SetLineStyle(0,0,3)

 MoveTo(round((x[0]+mx)*m_ox),round(hy/2-y[0]*m_oy));

 readln;

 CloseGraph;

end;

begin

readkey

clrscr;

tabfun(n,x,y,x0,xn);

ynimax(n,x,y,ymin,ymax);

grafik(x,y,n,x0,xn,ymin,ymax);

end.

Висновок:я навчився будувати графіки функцій у середовищі Turbo Pascal засобами графічної бібліотеки Graph.




1. Ван в Германской империи дворяне имели приставку фон к фамилии и часто встречалось окончание ер поль
2. Введение С переходом к рыночной экономике происходят принципиальные изменения в системе управления пред
3. тема и ее альтернативы КУ система зародилась в 16 веке в школах Белоруссии и Украины теоретически обоснован
4. реферату- Договір щодо надання рекламних послугРозділ- Реклама Договір щодо надання рекламних послуг ДОГ
5. НА ТЕМУ- Собственность в юридическом плане
6. Тема 1 Загальні проблеми доктрини адміністративного права України 1.
7. Философские проблемы лирики АС Пушкина
8. Полномочия Правительства России
9. Vrnnrodru-proekt-proekthtm Разведческие игры и состязания Нельзя забывать о том что инициатива и творчество у р
10. Варіант 1 Розділ- предмет завдання та категорії психології вищої школи 1