Задания к лабораторным работам по информатике разработал доцент кафедры ИТ к.т.н. Угаров В.В.




Работа 01. 2 семестр.

 

Часть 1: Построение графических изображений.

Графические примитивы.

Задание: Создать программу, реализующую проектное задание.

На графическом экране построить изображение согласно варианту (рис.1), используя базирование по опорной точке.

Размер рисунка должен быть не более 0,5 экрана и не менее 0,2 экрана (Экран размером 640 Х 480).

В основной программе вывести несколько (5-7) копий рисунка разными цветами в разных местах экрана.

 

Рис.1.

 


 

Часть 2: Построение векторных изображений.

Задание: Создать программу, которая строит на экране векторное изображение.

На графическом экране построить изображение согласно Вашему варианту (рис.2), используя базирование по опорной точке и масштабирование по размеру рисунка.

Элементы изображения должны быть закрашены выбранными Вами цветами и заполнены видами заливок согласно рис.3.

Построение рисунка должно быть реализовано в виде процедуры.

Надписи также должны масштабироваться.

Координаты опорной точки (x,y) и масштабный коэффициент (Mk) вводятся в диалоговом режиме.

 

 

Рис. 2. Рисунок.

Рис. 3. Матрица заполнения 8х8.


Приложение 1. Некоторые методы графического режима для Borland C++ 3.1.

1. initgraph(&gdriver, &gmode, "") – описание и пример в Ctrl+F1

2. closegraph() – закрытие графического режима

3. moveto(int x, int y) – устанавливает курсор в точку (x,y)

4. getmaxx(),getmaxy() – возвращает максимальное значение по оси x и по оси y

5. line(int x1, int y1, int x2, int y2) – линия от точки (x1, y1) до точки (x2, y2)

6. rectangle(int x1, int y1, int x2, int y2) – прямоугольник от левой верхней точки (x1, y1) до нижней правой точки (x2, y2)

7. circle(int x, int y, int r) – круг с центром в точке (x,y) и радиусом r

8. arc(int x, int y, int stangle, int endangle, int r) – дуга окружности с центром в точке (x,y), начальный угол stangle, конечный угол endangle, (в градусах), радиус r:
arc(300,100,45,185,50);

9. setcolor(int color) – установка цвета рисования: 0 - черный, 1 – синий, 2 – зеленый, 3–бирюзовый, 4-красный, 5-фиолетовый, 6-коричневый, 7-светло-серый, 8-темно-серый, 9-голубой, 10-светлозеленый, 11-свелобирюзовый, 12-розовый, 13-пурпурный, 14-желтый, 15-белый.

10. getcolor() – возвращает текущий цвет

11. setbkcolor(int color) – установка цвета фона

12. getbkcolor() – возвращает цвет фона

13. putpixel(int x, int y, int color) – пикселу в точке (x,y) присваивает цвет color

14. outtextxy(int x, int y, char st) – выводит текст st,
начиная с точки (x,y):
outtextxy(200,300,”ABCD-text”);

15. setlinestyle(int linestyle, int upattern, int thickness) – линии рисуются стилем linestyle, по шаблону upattern (если linestyle=4), толщиной thickness (1 или 3):
linestyle: 0-сплошная, 1-точечная, 2-штрихпунктирная, 3-пунктирная, 4-по шаблону

16. setfillpattern(char upattern, int color) – установка шаблона заливки цветом color
Пример:
char Strelka[8]={0x00,0x1e,0x06,0x0a,0x12,0x20,0x40,0x80};
// шаблон 1 – “Strelka”
//setfillstyle(int pattern, int color) – устанавливает стиль заливки
setfillstyle(12,14);
setfillpattern(Strelka,14);
// устанавливаем заливку по шаблону Strelka желтым цветом
//floodfill(int x, int y, int color); заливается область, ограниченная
цветом color, имеющая внутреннюю точку (x,y)
circle(200,300,15); // рисуем замкнутую область цветом 15 (круг)
floodfill(200,300,15); // заливаем ее своим рисунком по шаблону

17. Операция округления вещественного числа:
int round(float a) {if(a-floor(a)<0.5) return floor(a); return ceil(a);};

18. int Nx(float x)
{return round(((x-Xmin)/(Xmax-Xmin))*639);};

19. int Ny(float y, float Ymin, float Ymax)
{return 479-round(((y-Ymin)/(Ymax-Ymin))*479);};


Часть 3: Построение математических зависимостей на графическом экране.

Задание: Построить на графическом экране график функции, оформив ее такими атрибутами, как:

- обрамляющая рамка,

- оси координат,

- надписи и масштабные отметки хотя бы на одной оси,

- наименование графика.

При построении графика обязательно следует выбрать масштабные коэффициенты по осям координат так, чтобы график или другое изображение заполнял весь экран, но не выходил за его пределы.

 

1. На экране построить график (Спираль), заданный функцией:

x = R·cos(t+F); y = R·sin(t+F); R = t/2; [ 0 < t < 2*pi*n ]

Параметры F,R для построения графика задаются в диалоговом режиме.

 

2. На экране построить график, заданный функцией:

Y = A·sin(0.98·x) + B·cos(0.37·x); [-5 < x < 5]

Параметры A,B для построения графика задаются в диалоговом режиме.

 

3. На экране построить график (Эпициклоида), заданный функцией:

X = (1+A)·cos(A·t) + R·cos(1+A)·t; [ 0 <= t <= 2·pi ]

Y = (1+A)·sin(A·t) - R·sin(1+A)·t;

Параметры A,R для построения графика задаются в диалоговом режиме.

 

4. На экране построить график, заданный функцией:

Y = Q·cos(2x) - J·x + ln(|x+3|); [-2 < x < 2]

Параметры Q,J для построения графика задаются в диалоговом режиме.

 

5. На экране построить график, заданный функцией:

Y = P·0.56·x3 - 11.3·V·x + 4·M·sin(X+1) + 3; [-5 < x < 5]

Параметры P,V,M для построения графика задаются в диалоговом режиме.

 

6. На экране построить график, заданный функцией:

Y = Z·sin(x)- 1.3·D·x2 + exp(1.6·L·(x-1)) - 2; [-3 < x < 3]

Параметры Z,D,L для построения графика задаются в диалоговом режиме.

7. На экране построить график, заданный функцией:

Y = 0.4·N·x - 2.3·R·x2 + ln(|x+5|) + T; [-4 < x < 4]

Параметры N,R,T для построения графика задаются в диалоговом режиме.

 

8. На экране построить график (Улитка Паскаля), заданный функцией:

X = A·cos(fi)·cos(fi) + 4·K·cos(fi);

Y = A·sin(fi)·cos(fi) + 4·K·sin(fi); [ 0 <= fi <= 2·pi ]

Параметры A,K для построения графика задаются в диалоговом режиме.

 

9. На экране построить график, заданный функцией:

Y = 1.7·H·x + 7.8·U·sin(2.1·x) + 3.4·(x-1)2 - 7.2; [-3 < x < 3]

Параметры H,U для построения графика задаются в диалоговом режиме.

 

10. На экране построить график, заданный функцией:

Y = 0.5·T·exp(1.7·(x-1)) + 0.4·E·x2 - 2x - 8.9; [-8 < x < 3]

Параметры T,E для построения графика задаются в диалоговом режиме.

 

11. На экране построить график, заданный функцией:

Y = 4.6·G·sin(x/F) + 1.9·M·cos(x+1.8); [-4 < x <4]

Параметры G,M,F для построения графика задаются в диалоговом режиме.

 

12. На экране построить график (Астроида), заданный функцией:

X = sin(t)alpha; Y = cos(t)alpha; [ 0 <= t <= 2·pi ]

Параметр alpha для построения графика задается в диалоговом режиме и может принимать только целочисленные нечетные значения: 1, 2, 3, ….

 

13. На экране построить график, заданный функцией:

Y = K·x - F·sin(0.93x) + S·cos(W·x); [-6 <x < 6 ]

Параметры K,F,S,W для построения графика задаются в диалоговом режиме.

 

14. На экране построить график (Гипоциклоида), заданный функцией:

X = A·cos(t) + D·cos(A·t); [ 0 <= t <= 2·pi ]

Y = A·sin(t) - D·sin(A·t);

Параметры A,D для построения графика задаются в диалоговом режиме.

 

15. На экране построить график, заданный функцией:

Y = B·x3 - A·x + SQRT(x+1) + 3; [-1 < x < 4]

Параметры A,B для построения графика задаются в диалоговом режиме.

 

16. На экране построить график (Строфоида), заданный функцией:

P = -(A·cos(2·Fi) / (cos(Fi); [-2·pi < Fi < 2·pi]

Параметры A,Fi для построения графика задаются в диалоговом режиме.

 

17. На экране построить график (Декартов лист), заданный функцией:

R = (3·A·cos(Fi)·sin(Fi))/(cos3(Fi) + sin3(Fi));[-2·pi < Fi < 2·pi]

Параметры A,Fi для построения графика задаются в диалоговом режиме.

Приложения: Примеры построения графиков.

 

   

 

Задания к лабораторным работам по информатике разработал доцент кафедры ИТ к.т.н. Угаров В.В.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: