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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

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

Рік:
2005
Тип роботи:
Графіки
Предмет:
Алгоритмічні мови і програмування
Група:
КС-23

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

Міністерство освіти та науки України Національний університет „Львівська політехніка”  АЛГОРИТМІЧНА МОВА ПРОГРАМУВАННЯ Сі ПРОСТІ ПРОГРАМИ ЛІНІЙНОЇ СТРУКТУРИ Звіт до лабораторної роботи №2 15-варівнт З КУРСУ “ Комп’ютерна графіка ” Львів-2005 Мета роботи - набути практичних навиків в складанні програм для побудови графіків функ-цій за допомогою засобів мови Турбо Паскаль. . Завдання: N% п/п Функція Інтервал Крок  15  t=[-100;100] h=0.5   Блок-схема програми   Процедура Bild_x0y0   Пояснення до блок-схеми процедури Bild_x0y0 № Опис блока  1) Умовний оператор, що перевіряє чи аргумент проходить через 0  2) Присвоєння координат Х00 машинного значення мінімального елемента  3) Умовний оператор, що перевіряє чи максимальний елемент більше 0  4) Присвоєння Х00 значення крайньої лівої точки  5) Присвоєння Х00 значення крайньої правої точки  6) Побудова лінії осі координат Х по заданих точках  7) Умовний оператор, що перевіряє чи аргумент проходить через 0  8) Присвоєння координат y00 машинного значення мінімального елемента  9) Умовний оператор, що перевіряє чи максимальний елемент більше 0  10) Присвоєння y00 значення крайньої нижньої точки  11) Присвоєння y00 значення крайньої верхньої точки  12) Побудова лінії осі координат У по заданих точках  13) Умовний оператор, що перевіряє чи максимальний елемент більше 0  14) Присвоєння значень стрілок  15) Присвоєння значень стрілок  16) Умовний оператор, що перевіряє чи максимальний елемент більше 0  17) Присвоєння значень стрілок  18) Присвоєння значень стрілок  19) Побудова стрілок по осі У  20) Побудова стрілок по осі Х  21) Покроковий цикл For  22) Побудова засічок на осі Х  23) Перехід від машинних до реальних координат  24) Приведення строки з значенням Х до менших розмірів  25) Оцифровка значень по осі Х  26) Покроковий цикл For  27) Побудова засічок на осі У  28) Перехід від машинних до реальних координат  29) Приведення строки з значенням У до менших розмірів  30) Оцифровка значень по осі У   Лістинг: Program graf_madel; uses crt, graph; Var a,b,t,hi,x_max,y_max,x_min,y_min,x_zoom, y_zoom,x0,y0,x,y, x_begin,x_end:real; i,x1,y1,x2,y2,h,w:integer; {---------------graph_install--------------------} Procedure graph_install; var driver, regim, error: integer; begin Clrscr; driver:=detect; initgraph(driver, regim, ''); error:=graphResult; End; {------------------------------------------------} Function x_t(xt:real):real; Begin X_t:=cos(xt)*xt; end; Function y_t(yt:real):real; Begin y_t:=(yt); end; {---------------bild_x0y0-------------} procedure bild_x0y0; VAR x00,y00, X_strilku_x, x_strilku_y, y_strilku_x, y_strilku_y, ds_x_x, ds_x_y, ds_y_x, ds_y_y, Text_x, texT_y:integer; st:string; begin setcolor(8); if x_max*x_min<0 then X00:=trunc(x_zoom*(0-x_min))+20 else begin if x_max>0 then X00:=trunc(0)+20 else X00:=trunc(H)+20 end; line(x00,W+30,x00,0) ; if y_min*y_max<0 then y00:=w-trunc(y_zoom*(-y_min))+15 else begin if y_max>0 then y00:=w+15 else y00:=trunc(0)+15 end; line(0,y00,h+40,y00); if x_max>0 then begin x_strilku_x:=H+40; x_strilku_y:=y00; ds_x_x:=-12; ds_x_y:=4; end else begin x_strilku_x:=0; x_strilku_y:=y00; ds_x_x:=12; ds_x_y:=4; end; if y_max>0 then begin Y_strilku_x:=x00; y_strilku_y:=0; ds_y_x:=4; ds_y_y:=12; end else begin Y_strilku_x:=x00; y_strilku_y:=w+30; ds_y_x:=4; ds_y_y:=-12; end; line(X_strilku_x,x_strilku_y,X_strilku_x+ds_x_x,x_strilku_y-ds_x_y); line(X_strilku_x,x_strilku_y,X_strilku_x+ds_x_x,x_strilku_y+ds_x_y); line(y_strilku_x,y_strilku_y,y_strilku_x-ds_y_x,y_strilku_y+ds_y_y); line(y_strilku_x,y_strilku_y,y_strilku_x+ds_y_x,y_strilku_y+ds_y_y); if x_strilku_y=H+20 then ds_x_y:=12 else ds_x_y:=-12; if y_strilku_x<W+15 then ds_y_x:=-10 else ds_y_x:=10; settextstyle(1,0,0); OutTextXY(x_strilku_x+ds_x_x, x_strilku_y+ds_x_y, 'x'); settextstyle(1,1,0); OutTextXY(y_strilku_x+ds_y_x, y_strilku_y+Ds_y_y, 'y'); settextstyle(1,0,0); if (x00>20) and (X00<h+20) and (y00>15) and (X00<w+15) then OutTextXY(x00-8,y00+4,'0'); for i:=1 to trunc(getMaxX/65) do begin text_x:=75*i; line(text_x, y00+5, text_x, y00-5); x:=x_min+(text_x-20)/x_zoom; str(x,st); delete(st,5,13); delete(st,7,2); outtextXY(text_x-20, x_strilku_y+ds_x_y, st); end; settextstyle(1,1,0); for i:=1 to 5 do begin text_y:=80*i; Line(x00+5,text_y,x00-5,text_y); y:=y_min+(-text_y+20+w)/y_zoom; str(y,st); delete(st,5,13); delete(st,7,2); outtextXY(y_strilku_x+ds_y_x, text_y-20, st); end; end; {---------------------------------------} begin write('a='); read(a); write('b='); read(b); write('h='); read(hi); t:=a; x_max:=x_t(a); y_max:=y_t(a); y_min:=y_max; x_min:=x_max; while t<=b do begin t:=t+hi; x:=x_t(t); y:=y_t(t); if x<x_min then x_min:=x; if x>x_max then x_max:=x; if y<y_min then y_min:=y; if y>y_max then y_max:=y; end; readln; graph_install; H:=GetMaxX-40; W:=GetMaxY-30; x_zoom:=h/(x_max-x_min); y_zoom:=w/(y_max-y_min); x0:=x_t(a); y0:=y_t(a); t:=a; while t<=b do begin x:=x_t(t); y:=y_t(t); x2:=20+trunc(x_zoom*(-x_min+x)); Y2:=15+w-trunc(y_zoom*(-y_min+y)); x1:=20+trunc(x_zoom*(-x_min+x0)); y1:=15+w-trunc(y_zoom*(-y_min+y0)); setcolor(1); line(x1,y1,x2,y2); x0:=x; y0:=y; t:=t+hi; end; bild_x0y0; readln; closegraph; readln; end. Список ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі: x1,y1,x2,y2,– перемінні цілого типу, що вказують координати побудови ліній, і – перемінні цілого типу , Graph_install – процедура встановлення графічного режиму, line(x1,y1,x2,y2)- процедура побудови лінії, setcolor – встановлення кольору, For – покроковий цикл; Висновок: на цій лабораторній роботі ми набули ти практичних навиків в складанні програм для побудови графіків функ-цій за допомогою засобів мови Турбо Паскаль.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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