Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Модуль 2 / Задание на L5

.doc
Скачиваний:
60
Добавлен:
22.04.2016
Размер:
69.63 Кб
Скачать

Модуль2

Лабораторна робота № 5.

Тема: Графіка.

Завдання:

Для наведених нижче задач

  1. зробити математичну постановку;

  2. скласти алгоритм програми;

  3. скласти програму мовою С++ для обчислення;

  4. проаналізувати результати роботи програми;

  5. оформити протокол.

Деякі теоретичні повідомлення.

Розглянемо, як виконуються графічні побудови у середовищі С++.

Графічний екран дисплея складається з точок, які можна засвічувати певним кольором чи гасити, у результаті чого на екрані утворюється деяке зображення. Точки називають пікселями. Кількість точок на екрані може бути різною, що залежить від характеристик і налаштування монітора. Відлік точок ведуть з лівого верхнього кута екрана. Кожна точка характеризується двома координатами (x,y).

Визначити кількість точок уздовж осей OX та OY можна за допомогою команд getmaxx () та getmaxy () відповідно.

Програми, що виконують графічні побудови, є лінійними і складаються з викликів стандартних графічних функцій, які описані у бібліотечному файлі graphics.h.

Для того, щоб створити зображення, спочатку створюють графічний режим. Після чого використовують стандартні функції бібліотеки graphics.h.

Ось деякі із них:

snitgraph(<драйвер>,<режим>,<шлях до драйверу>) – задає графічний режим, шлях до драйвера зазначають у лапках;

setcolor(<колір>) – задає колір майбутнього зображення;

setbkcolor(<колір >) – задає колір тла;

putpіxel(x,y ,<колір >) – висвітлює точку (x,y) заданим кольором;

line(x1,y1,x2,y2) – рисує лінію між двома точками;

lineto(x,y) – рисує лінію від поточної точки до точки (x,y);

linerel(dx,dy) – рисує лінію від поточної точки із заданим приростом;

bar(x1,y1,x2,y2) – рисує зафарбований прямокутник;

bar3d(x1,y1,x2,y2,<об’ємна глибина>,n) – рисує паралелепіпед;

rectangle(x1,y1,x2,y2) – рисує прямокутник із заданими координатами діагонально протилежних вершин;

circle (x,y,R) – рисує коло з радіусом R і центром у точці (x,y);

arc (x,y,<початковий кут>,<кінцевий кут>,<радіус>) – рисує дугу;

floodfill (x,y,<колір межі>) – заповнює замкнену область, що містить точку (x,y);

outtext(<текст>) – виводить заданий текст із поточної позиції;

ellipse(x,y,<поточний кут>,<кінцевий кут>,<горизонт. радіус>, <вертик. радіус>) – рисує еліпс чи дугу еліпса;

та інші можна знайти в довідниках.

Задача 1. Графіка. Моя емблема. У заданій частині графічного екрана нарисувати фігуру 1, у середині фігури 1 - фігуру 2, а у середині фігури 2 - текст: своє прізвище та ініціали. Усі елементи рисунка виконати різними кольорами. Замкнені області залити кольорами.

Частини екрана, типи фігур визначають згідно з варіантом і так: n:=i mod 9 - частина екрана; b:=і mod 5 - фігура 1, фігура 2.

n,b

Частина екрана

Фігура 1

Фігура 2

0

Верхня половина

Коло

Квадрат

1

Нижня половина

Прямокутник

Коло

2

Ліва половина

Трикутних

Еліпс

3

Права половина

Еліпс

Прямокутник

4

Верхня права чверть

Квадрат

Трикутник

5

Нижня ліва чверть

Коло

Еліпс

6

Нижня права чверть

Прямокутник

Коло

7

Верхня ліва чверть

Трикутних

Прямокутник

8

Весь екран

Еліпс

Трикутник

Наприклад, якщо і=15, то n=15 mod 9=6, b=15 mod 5 =0. Отже, у нижній правій чверті графічного екрана потрібно нарисувати коло, в ньому квадрат, а в квадраті вивести заданий текст.

Задача 2. Графік функції. Скласти програму рисування графіка функції y=f i ( x ) на проміжку (1 – 20). У результаті експериментів розташувати його правильно на екрані.

Задача3. Рисуємо прапор. Нарисувати прапор деякої держави світу. Реалізувати динамічний ефект під­няття прапора на щоглу.

  1. Азербайджан.

  2. Алжир.

  3. Непал.

  4. Ліберія.

  5. Куба.

  6. Конго.

  7. Судан.

  8. Ізраїль.

  9. Мальдіви.

  10. Панама.

  11. Сейшели.

  12. Гайана.

  13. Македонія.

  14. Норвегія.

  15. Камерун.

  16. Намібія.

  17. Чілі.

  18. Того.

  19. Ямайка.

  20. В’єтнам.

  21. Багами.

  22. Мавританія.

  23. Тонга.

  24. Танзанія.

  25. Куба.

  26. Великобританія.

3

Соседние файлы в папке Модуль 2