Інформатика

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІТРЕ
Факультет:
УІ
Кафедра:
Радіоелектроніки та електронної техніки (РЕПС)

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Інформатика та обчислювальна техніка
Варіант:
3

Частина тексту файла (без зображень, графіків і формул):

1.ПОСТАНОВКА ЗАДАЧІ. Cпочатку ініціалізуємо графічний режим. Утворюємо вікно за допомогою SetViewPort. Вираховуємо масштаб маючи границі для функції та аргумента. Враховуємо яким повинен бути масштаб – логарифмічний чи рівномірний. Для визначення логарифму скористаємося функцією – function lgn(x:real):real; begin if x<0 then begin lgn:=-ln(abs(x));end else lgn:=ln(abs(x)) end; Для утворення графіка потрібно з’єднати лініями всі значення функції та аргумента на координатній площині.Кожну точку з’єднумо з наступною лінією. Для цього використовуємо цикл. Утворюємо вісь абсцис та ординат, а також сітку. 2.РОЗРОБКА СТРУКТУРИ ДАНИХ. №п(п Позначення Ім’я( Тип Призначення, опис  1  gd,gm, patpatpatpathtodriver  gd,gm, patpatpatpathtodriver - Змінні необхідні для реалізації графічного режиму  2 s1,s2,s3,s4,s5,s6 s1,s2,s3,s4 ціла Необхідні для утворення сітки  3 х1,х2,х3,х4 w1,w2,w3,w4 ціла Координати вікна  4 Z, Z3 z ціла Значення функції, вихідна визначає нулі х,у  5 і і ціла Слугує для утворення сітки і графіка  6 x1,y1,x2,y2 x1,y1,x2,y2 ціла Значення х та у між якими проводиться лінія  7 Ymin,Ymax z1,z2 дійсна Межі «у» в яких Буде виводитись графік   8 Xmin,Xmax b,a дійсна Межі «x» в яких Буде виводитись графік  9 D d дійсна крок   3.РОЗРОБКА БЛОК-СХЕМИ АЛГОРИТМУ.   4.Запис тексту програми. program Project1;uses graph,keyboard; var b,a,d:real; gd,gm:smallint; s1,s2,s3,s4,s5,s6,h1,h2, w1,w2,w3,w4, z3,z,n,i, x1,y1,x2,y2 :integer; c,my,mx,z1,z2:real; patpatpatpathtodriver:string; function y(x:real):real; begin y:=abs(x)+cos(2*x); end; function lgn(x:real):real; begin if x<0 then begin lgn:=-ln(abs(x)+1); end else lgn:=ln(abs(x)+1) end; begin a:=-3;d:=0.01;b:=3;{znahsennja x}z1:=0;z2:=3;{mashtab}w1:=10;w2:=10;w3:=150;w4:=150;{koord vikna} h1:=round((w3-w1)/20){sitka goruzontalna};h2:=round((w4-w2)/6){sitka vertukalna}; n:=round((b-a)/(d)+1); if (a<=0) and (b>0) then z:=round((w3-w1)*abs(a/(b-a))); if (a<0) and (b<=0) then z:=w3-w1+round((w3-w1)*abs(b/(b-a))); if (a>0) and (b>0) then z:=-round((w3-w1)*abs(a/(b-a))); mx:=(w3-w1)/(b-a); if (z2-z1>=abs(z1)) and (z2-z1>=abs(z2))then c:=abs(lgn(z2))+abs(lgn(z1)) else c:=abs(lgn(z2)-lgn(z1)); my:=(w4-w2)/c; if (z1>=0) and (z2>0) then z3:=w4-w2+round(lgn(z1)*my); if (z1<0) and (z2<=0) then z3:=round(lgn(z2)*my); if (z1<0) and (z2>0) then z3:=round((w4-w2)* lgn(z2)/c); x2:=z+round(a*mx); y2:=z3-round(lgn(y(a))*my); s1:=z+round(0*mx); s2:=z3-round(lgn(0)*my); s3:=z+round(a*mx);s4:=z+round(b*mx); s5:=z3-round(lgn(z1)*my);s6:=z3-round(lgn(z2)*my);{dlja sitku} begin gd:=0;initkeyboard;initkeyboard;initgraph(gd,gm,''); SetViewPort(w1, w2, w3,w4,ClipOn ); setbkcolor(8);clearviewport; setcolor(6); for i:=1 to 200 do begin line(s3,s2+h1*i,s4,s2+h1*i); line(s3,s2-h1*i,s4,s2-h1*i); end; for i:=1 to 200 do begin line(s1+h2*i,s5,s1+h2*i,s6); line(s1-h2*i,s5,s1-h2*i,s6); end; setcolor(4); line(s1,s5, s1,s6);line(s3,s2,s4,s2); setcolor(3); for i:=1 to n do begin {delaje liniji} x1:=z+round(a*mx); y1:=z3-round(lgn(y(a))*my); a:=a+d; x2:=z+round(a*mx); y2:=z3-round(lgn(y(a))*my); line(x1,y1,x2,y2);end; repeat until keyboard.getkeyeventchar(keyboard.getkeyevent())='g'; closegraph(); donekeyboard; end;end. 5.ТЕСТУВАННЯ ТА НАЛАГОДЖЕННЯ.  Висновок: я навчився створювати програми які будують графіки. Ознайомився з оператиром SetViewPort ознайомився з видами масштабу рівномірним та логарифмічним, кольора задані для того щоб відрізнити графік від сітки, вісі абсцис та ординат. Міністерство освіти і науки україни НУ «Львівська Політехніка» Кафедра теоретичної радіотехніки ЛАБОРАТОРНА РОБОТА №14 ПОБУДОВА ГРАФІКІВ ФУНКЦІЙ ОДНОГО АРГУМЕНТУ Підготував студент групи РТ-12 Примас Любомир
Антиботан аватар за замовчуванням

27.04.2014 02:04-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!