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

О.О.П / ооп / 3_техн / Лабораторні роботи / Лабораторна робота 7

.doc
Скачиваний:
18
Добавлен:
30.05.2020
Размер:
82.43 Кб
Скачать

Об’єктно-орієнтоване програмування

Лабораторна робота

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

Основн теоретичні відомості

Приступаючи до вирішення завдань цього розділу, слід пригадати, що:

  • у графічному режимі екран є сукупністю крапок, кожна з яких може бути забарвлена в один з 16-ти кольорів;

  • координати крапок зростають зліва направо і зверху вниз. Ліва верхня крапка має координати (0,0), права нижняя (639,479);

  • для того, щоб програма могла виводити на екран графічні примітиви (лінії, кола, прямокутники), необхідно ініціалізувати графічний режим.

Шаблон графічної програми виглядає таким чином:

// шаблон графічної програми

#include <graphics.h>

#include <conio.h>

#define PATHTODRIVER "с:\\borlandc\\bgi\\"

void main (void)

{

int gdriver = DETECT; // драйвер

int gmode; // режим

int errorcode; // код помилки

initgraph(&gdriver &gmode, PATHTODRIVER);

errorcode = graphresult{);

if (errorcode != grOk) // помилка ініціалізації

// графічного режиму

{

printf("Помилка: %d\n", errorcode);

puts("Для завершення програми натискуйте <Enter>")

getch();

return;

}

// далі інструкції програми

closegraph(); // завершення графічного режиму

}

Завдання

  1. Написати програму, яка викреслює на екрані будиночок

  1. Написати програму, яка виводить на екран прапор Олімпійських ігор. Зображення прапора приведене нижче (одній клітці відповідає п'ять пікселів).

  1. Написати програму, яка викреслює на екрані кораблик.

  1. Написати програму, яка викреслює на екрані ракету.

Написати програму, яка викреслює на екрані кораблик

*Написати програму, яка викреслює на екрані узор з 100 кіл випадкового діаметру і кольору.

Приклад вирішення завдання:

/ / Рисует олимпийский флаг

#include <graphics.h>

#include <stdlib.h>

tinclude <stdio.h>

#include <conio.h>

#define PATHTODRIVER "с: \\borlandc\\bgi\\"

void main (void)

{

int gdriver = DETECT; // драйвер

int gmode; // режим

int errorcode; // код ошибки

initgraph(&gdriver, &gmode, PATHTODRIVER);

errorcode = graphresult();

if (errorcode != grOk) // ошибка инициализации

// графического режима

{

printf("Ошибка: %d\n", errorcode);

puts("Для завершения программы нажмите <Enter>");

getch();

exit(l);

}

// полотнище флага - сплошная заливка серым цветом

setfillstyle(SOLID_FILL,LIGHTGRAY); //

bar(80,80,200,135);

// кільця

setcolor(GREEN); // зелене

circle(100,100,15);

setcolor (BLACK"); // чорне

circle(140,100,15);

setcolor(RED); // червоне

circle(180,100,15);

setcolor(YELLOW); // жовте

circle(120,115,15);

setcolor(BLUE); // синє

circle(160,115,15);

getch();

closegraph0; // вихід з графічного режиму