Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Uch_praktika_-_6_-_grafika.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
126.98 Кб
Скачать

12

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Колледж экономики, управления и права

методические рекомендации

для УЧЕБНОЙ практиКИ студентов

по дисциплине «Основы алгоритмизации и программирования»

Специальность

230105 51 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ

автор-составитель Шинакова С.В.

Ростов-на-Дону 2011

Рассмотрены на заседании Ц(П)К специальности 230105.51 Программное обеспечение вычислительной техники и автоматизированных систем

«07» апреля 2011 г. Протокол № 8

Председатель Ц(П)К _____________ Шинакова С.В.

Практическая работа № 6

Тема «Работа с графикой»

1 Цель работы

Научиться принципам работы с процедурами и функциями модуля Graph в среде программирования Turbo Pascal или Pascal ABC.

 

2 Задачи работы

Изучить приемы решения задач с использованием процедур и функций модуля Graph.

3 Порядок выполнения работы

3.1 В среде программирования Turbo Pascal или Pascal ABC составить и отладить программы решения задач в соответствии с указанным вариантом приложений.

3.2 Провести анализ результатов работы программы.

3.3 Составить отчет о проделанной работе.

 

4 Отчет о проделанной работе должен содержать

-  название и цель работы;

-  номер и условие своего варианта;

-  текст программы;

-  полученные при тестировании результаты;

-  ответы на контрольные вопросы пункта 6 в соответствии с указаниями преподавателя.

  

5 Теоретические положения

5.1 Описание процедур и функций модуля Graph

Для создания графических изображений в среде Турбо Паскаль предназначен стандартный библиотечный модуль Graph. Он представляет собой библиотеку подпрограмм, которая полностью обеспечивает управление графическими режимами различных адаптеров дисплея. Библиотека содержит около 80 графических процедур и функций, а также десятки стандартных констант и описаний типов данных.

Подключение модуля Graph осуществляется с помощью зарезервированного слова USES:

USES Graph;

Чтобы запустить программу, в которой используются процедуры модуля Graph, необходимо поместить в рабочий каталог соответствующие графические драйверы-файлы с расширением .BGI , которые обеспечивают взаимодействие программ с графическими устройствами. При инициализации определенного графического режима подключается соответствующий драйвер. Для обеспечения работы программы в одном из графических режимов процедура InitGraph определяет тип адаптера и загружает соответствующий BGI-файл.

Процедура инициализации InitGraph(VAR GraphDriver: Integer; {тип адаптера}

VAR GraphMode : Integer; {режим графики}

VAR DriverPath : String;) {путь к драйверу}

Если GraphDriver присваивается значение константы Detect, то система переходит в режим автоопределения и инициализируется соответствующий BGI-драйвер и включается режим максимального разрешения для данного типа видеоадаптера. В GraphDriver и GraphMode при этом процедура возвратит автоматически определенные значения для этих параметров или код ошибки.

Процедура CloseGraph служит для удаления графического драйвера из памяти и восстановления текстового режима видеоадаптера.

В модуле Graph реализован механизм обнаружения ошибок и генерирования сообщений об ошибках с помощью функций GraphResult и GraphErrorMsg.

Функция GraphResult: Integer возвращает 0, если последняя графическая операция выполнилась без ошибок, или число в диапазоне от -15 до -1, если ошибка имела место.

5.2 Построение изображений на экране

Для построения изображений на экране в графическом режиме применяется система координат, отличная от используемой в текстовом режиме. Отсчет начинается от верхнего левого угла экрана, который имеет координаты (0,0). Значение X(столбец) увеличивается в направлении слева направо, а значение Y (строка) - в направлении сверху вниз. При этом экран представляется в виде прямоугольного массива адресуемых точек, а не символов.

Определение значений максимальных координат экрана в модуле Graph реализовано с помощью функций

GetMaxX: Integer

GetMaxY: Integer

Процедура MoveTo (X, Y: Integer) перемещает текущий указатель в точку с координатами X, Y.

Процедура MoveRel (dX, dY: Integer) перемещает текущий указатель на dX точек по горизонтали и на dY точек по вертикали относительно последнего положения текущего указателя.

Для определения текущего положения графического курсора используются функции

GetX: Integer

GetY: Integer

Процедура PutPixel (X, Y: Integer; Color: Word) отображает на экране точку с заданными координатами X, Y и цветом C.

Процедура Line (X1, Y1, X2, Y2: Integer) выводит на экран отрезок прямой с координатами начальной (X1, Y1) и конечной (X2, Y2) точек .

Для построения отрезков применяются ещё две процедуры:

LineTo(X,Y) строит отрезок из точки текущего положения указателя до точки с координатами (X,Y)

LineRel(dX,dY) строит отрезок от точки текущего положения указателя до точки с координатами, отстоящими на расстоянии dX по горизонтали и dY – по вертикали.

Установка стиля линии производится процедурой

SetLineStyle(LineStyle: Word; Pattern: Word; Thickness: Word)

Параметром LineStyle задается тип строки, Pattern- шаблон, Thickness- толщина линии.

Константа

Значение

Характеристика линии

SolidLn

0

Сплошная

DottedLn

1

Пунктирная

CenterLn

2

Штрих- пунктирная

DashedLn

3

Штриховка

UserBitLn

4

Заданная пользователем

NormWidth

1

Нормальной толщины

ThickWidth

3

Большой толщины

Если параметр LineStyle не равен UserBitLn, то параметр Pattern не используется и обычно задается равным нулю.

Процедура Rectangle (X1, Y1, X2, Y2: Integer) строит прямоугольник на плоскости

(X1, Y1) –координаты верхнего левого угла, (X2, Y2)- координаты правого нижнего угла прямоугольника

Процедура Bar (X1, Y1, X2, Y2: Integer) рисует прямоугольник, внутренняя область которого залита по текущему шаблону. Данная процедура обычно используется в деловой графике для построения столбиковых диаграмм.

Процедура Bar3D (X1, Y1, X2, Y2: Integer; D3: Word; Top: Boolean) рисует параллелепипед, “лицевая” сторона которого залита по текущему шаблону, а глубина задается в пикселях параметром D3. Параметр Top задает режим отображения верхней плоскости: True- отображать, False- не отображать . Этот параметр необходим для рисования столбцов, расположенных “один на другом”.

Процедура Circle(X, Y: Integer; Radius: Word) рисует окружность (X, Y) –координаты центра окружности, Radius- ее радиус

Процедура Arc (X, Y: Integer; StEngle, EndEngle, Radius: Word) рисует дугу (X, Y) –координаты центра окружности дуги, StEngle и EndEngle- начальный и конечный углы, отсчитываемые от горизонтальной оси против часовой стрелки, Radius- радиус.

Процедура Ellipse (X, Y: Integer; StEngle, EndEngle: Word; XR, YR: Word) рисует дугу (X, Y) –координаты центра эллипса в дисплейных координатах, StEngle и EndEngle - начальный и конечный углы, отсчитываемые от горизонтальной оси против часовой стрелки, XR и YR – горизонтальная и вертикальная оси.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]