DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт до лабораторної роботи № 2 з курсу «Комп’ютерна графіка»

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

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

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

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

Про що ця робота

У звіті наведено практичну роботу з побудови графіків функцій за допомогою мови програмування Турбо Паскаль. Описано алгоритм роботи програми, блок-схему та надано повний лістинг коду.

У роботі розглядаються

  • Комп’ютерна графіка
  • Програмування
  • Мова Турбо Паскаль
  • Графічний режим
  • Побудова графіків функцій
  • Алгоритмічні структури
  • Блок-схеми алгоритмів

Зміст і розділи

  1. Мета роботи
  2. Завдання
  3. Блок-схема програми
  4. Пояснення до блок-схеми процедури bild_x0y0
  5. Лістинг
  6. Список ідентифікаторів
  7. Висновок
Для кого:Студенти технічних спеціальностей та виші інформаційних технологій
Викладачі:Не вказано

Ключові поняття

графічний режимТурбо Паскальфункціякоординатиосі координатпроцедурациклмасштабуванняінкрементуваннялістинг

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

Міністерство освіти та науки України Національний університет „Львівська політехніка”  АЛГОРИТМІЧНА МОВА ПРОГРАМУВАННЯ Сі ПРОСТІ ПРОГРАМИ ЛІНІЙНОЇ СТРУКТУРИ Звіт до лабораторної роботи №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 – покроковий цикл; Висновок: на цій лабораторній роботі ми набули ти практичних навиків в складанні програм для побудови графіків функ-цій за допомогою засобів мови Турбо Паскаль.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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