Описание, Указания к выполнению и варианты
контрольных работ по дисциплине



Контрольная работа № 1


Работа с графикой на языке с++

Цель работы

Освоить необходимые средства для написания программ на языке С++, работающих в графическом режиме.

Содержание работы
и методические указания к ее выполнению

1. Изучить прототипы основных графических функций, описанных в заголовочных файлах

<graphics. h>

<conio. h>.

Ниже приведен набор основных функций, перечень которых может быть, существенно расширен в зависимости от выполняемых заданий:

initgraph – переключение компьютера в графический режим;

closegraph –  переключение компьютера в текстовый режим;

getmaxx, getmaxy – определение наибольшего значения по координатам х, y;

moveto – перемещение в точку х, у;

lineto – вычерчивание линии между текущей позицией и точкой х, у;

line – вычерчивание линии между точками, заданными своими координатами;

getmaxcolor – получение информации о максимальном номере обозначения цвета;

setcolor, setbkcolor – установка цвета изображения и фона;

getcolor, getbkcolor – получение цвета изображения и фона;

putpixel, getpixel – получение и установка пикселя;

outtext – вывод графического текста с текущей позиции;

outtextxy – задание координат начальной точки х, у в пикселях и вывод графического текста;

textwidth, textheight – определение количества пикселей в размере строки по горизонтали и вертикали;

НЕ нашли? Не то? Что вы ищете?

settextstyle – выбор шрифта и его размера;

circle, arc, ellipse – изображение круга, дуги, эллипса;

setfillstyle – выбор шаблона и цвета для заполнения;

fillpolly – заполнение цветом;

fillellipse – заполнение эллипса цветом и т. д.

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

3. Подготовить текстовый файл с разработанной программой, используя текстовый редактор, оттранслировать, собрать и выполнить программу с учетом требований операционных систем и прог­раммных оболочек, в которых эта программа выполняется. При необ­ходимости исправить ошибки и вновь повторить технологический процесс решения задачи. Подключить необходимые заголовочные файлы graphics. h и conio. h, а также обеспечить нахождение в текущем каталоге драйвера графического адаптера.

4. Оформить отчет по контрольной работе 

5. Защитить контрольную работу, ответив на вопросы преподавателя.

Варианты заданий

1. Разработать программу, рисующую систему вложенных подоб­ных прямоугольников. Каждый прямоугольник изображается разным цветом. Предварительно пользователь задает параметр вложенности - расстояние одного прямоугольника от другого. Внешний прямоуголь­ник занимает весь экран.

2. Разработать рекурсивную версию решения задачи 1.

3. Разработать версию решения задачи 1, но пользователем задается количество прямоугольников, а расстояние одного прямоугольника от другого вычисляется.

4. Разработать программу, рисующую систему вложенных окруж­ностей. Каждая окружность изображается разным цветом. Предвари­тельно пользователь задает параметр вложенности – расстояние од­ной окружности от другой. Внешняя окружность занимает весь экран. Центр окружностей – центр экрана.

5. Разработать рекурсивную версию решения задачи 3.

6. Разработать версию решения задачи 4, но пользователем задается количество окружностей, а расстояние одной окружности от другой вычисляется.

7. Разработать программу, рисующую систему вложенных дуг, занимающих 3/4 экрана. Каждая дуга изображается разным цветом и смещена на 90 градусов относительно предыдущей. Предварительно пользователь задает параметр вложенности – расстояние одной дуги от другой. Внешняя дуга занимает весь экран. Центр дуги – центр экрана.

8. Разработать рекурсивную версию решения задачи 5.

9. Разработать версию решения задачи 7, но пользователем задается количество дуг, а расстояние одной дуги от другой вычисляется.

10. Разработать программу, рисующую прямоугольник с закругленными углами (галтель). Параметр закругления (радиус) вводится пользователем.

11. Разработать программу, рисующую улитку.

12. В круг, занимающий весь экран, вписаны три круга. Боль­шой и помещенные в него круги наполнены различными цветами. Разработать программу, делающую указанный рисунок.

13. В круг, занимающий весь экран, вписаны три круга. В каж­дый из вписанных кругов также вписаны три круга и т. д. Круги наполнены различными цветами. Разрабо­тать программу, делающую указанный рисунок.

14. Разработать рекурсивную версию решения задачи 13.

15. В равносторонний треугольник, занимающий весь экран и устремленный одной вершиной вверх, вписан подобный треугольник, устремленный одной вершиной вниз, в него в свою очередь вписан подобный треугольник, устремленный одной вершиной вверх и т. д. Разработать программу, делающую подобный рисунок.

16. Разработать рекурсивную версию решения задачи 15.

17. Разработать программу, рисующую работающий светофор (последовательно зажигаются красный свет, желтый, зеленый). Не горящие в текущий момент круги закрашивать светлым цветом.

18. Разработать программу, рисующую работающий светофор типа СТОЙТЕ-ИДИТЕ (стоящий на пешеходном переходе).

19. Разработать программу, рисующую звездное небо: на темном фоне вспыхивают звезды, цвет и координаты которых выбираются с помощью генератора случайных чисел ГСЧ.

20. Разработать программу, рисующую узор в виде ломаной линии из 50 звеньев со случайными координатами, случайного цвета, выбираемых с помощью генератора случайных чисел ГСЧ.

21. Разработать программу, рисующую узор из 50 окружностей со случайными координатами центра, случайного цвета и диаметра, выбираемых с помощью генератора случайных чисел ГСЧ.

22. Разработать программу, рисующую узор из 50 прямоугольников случайного цвета и размера, выбираемых с помощью генератора случайных чисел.

23. Разработать программу, рисующую государственный флаг России с подписью на нем «Россия», перемещающийся по экрану 50 раз.

24. Разработать программу, рисующую олимпийский флаг, меняющий свои размеры 50 раз (например, постепенно увеличивающийся).

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

Контрольные вопросы

Как перейти в графический режим? Как вернуться в тексто­вый режим? В каком режиме лучше производить ввод-вывод информации? Что происходит в случае ошибки инициализации графического режима? Как изменяются координаты точек на экране монитора? Как определить количество доступных цветов графического адаптера? Что такое пиксель? Как хранится графическая информация? Как осуществить выбор шрифтов? Как заполнить фигуру цветом? Что такое графические примитивы и какие функции используются для их рисования?

Требования к оформлению отчета

Титул Условие задачи Анализ задачи Исходные данные (что пользователь получает и вводит с клавиатуры) Результаты (что пользователь увидит на экране – все возможные результаты, сообщения об ошибках) Метод решения (связь между исходными данными и результатом) Алгоритм Текст программы Тесты (примеры) – исходные данные, результат, выводы Общие выводы по работе

Литература

C/C++ в задачах и примерах. – СПб.: БХВ-Петербург, 2001. – 288 с.: ил. , Березин курс С и С++. – М.: ДИАЛОГ-МИФИ, 2001.– 288 с. , "Компьютерная графика. Полигональные модели". М.: "ДИАЛОГ-МИФИ", 2000.

Контрольная работа № 2

Построение объемного изображения

Цель работы

Освоить необходимые средства графического пакета Corel Draw (версия произвольная) для создания объемного цветного векторного изображения.

Содержание работы
и методические указания к ее выполнению

1. Изучить возможности и инструментальные средства пакета Corel Draw для создания объемного изображения.

2. В зависимости от доступных студенту исходных данных выполнить один из вариантов:

а) создать объемное изображение электронного прибора (монитора, принтера, сканера, процессора, клавиатуры и т. п.) – примеры см. в Приложении;

б) изобразить (объемно) лицевую панель произвольного прибора (желательно наличие нескольких шкал, кнопок и т. п.);

в) по прилагаемому чертежу построить объемное изображение (5 различных вариантов см. в Приложении).

3. Оформить отчет по прилагаемым требованиям.

4. Защитить контрольную работу, ответив на вопросы преподавателя.

Требования к оформлению

Титул Условие задачи Анализ задачи Исходные данные Результаты (что пользователь увидит на экране) Метод решения (связь между исходными данными и результатом) Обоснование выбора графического пакета Алгоритм (последовательность действий по построению изображения) результат (построенное изображение) Общие выводы по работе

Контрольные вопросы

Отличия векторной и растровой графики. Графические пакеты для работы с 2D-графикой. Графические пакеты для работы с 3D-графикой. Типы форматов графических файлов. Основные понятия векторной графики: объект, контур, заливка. Сфера приложения пакета Corel. Объемные эффекты (средства для создания иллюзии объема). Инструменты и приемы работы с текстом в Corel Draw.

Литература

, Грошев для художника.: Практ. пособ. –  М.: Издательство ТРИУМФ, 1999, 2000. – 448 с.: ил.   Компьютерная графика: учебный курс. Харьков:"Фолио"; М.:"АСТ", 2001.

Варианты для контрольной работы № 2.