Будь умным!


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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

абораторна робота № 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. Сочинение- Творчество Чингиза Айтматова
4. реферат дисертації на здобуття наукового ступеня доктора медичних наук Київ 2000 Дисерта
5. СЕРПУХОВСКИЙ ТЕХНИЧЕСКИЙ КОЛЛЕДЖ О т ч е т п о у ч е б н о й п
6. пантеїзм означає всебожжя
7. Синтаксический разбор строк и конечные автоматы
8. на тему- Мобилизация инвестиционных средств проекта путем эмиссии ценных бумаг
9. Контрольная работа- Современный консерватизм
10. Роль личности педагога в воспитательном процессе в техникуме
11. Росинка Занятие по экологии для детей подготовительной группы
12. расширенных трактовок комплекса маркетинга сейчас можно назвать концепцию
13. 4 Контрольный пример 2.html
14. CRAZY SHOP СОДЕРЖАНИЕ ВВЕДЕНИЕ
15. Тема Удивительное путешествие в страну Букварию подготовила учительлогопед Савченко С
16. Образование в XIX веке
17. Лекция 3. История становления политикоуправленческой мысли Истоки управленческой мысли- Древний Восто
18. тематизированные классифицированные знания
19. Случайные события и действия над ними.html
20. Тема- Формирование независимых национальных государств на территории пост имперской России 1917 ~ 1921 гг