ЛАБОРАТОРНАЯ РАБОТА №14 Тема: Разработка алгоритмов и программ с использованием процедур и функций модулей Graph

Цель:Сформировать умения разрабатывать алгоритмы и программы с использованием процедур и функций модулей Graph

Программное обеспечение: TURBO PASCAL 7.1

Оснащение:персональный компьютер, практикум

Время проведения: 2 уч. часа

 

Литература:

1. Немнюгин С.А. Turbo Pascal. Практикум. 2-е изд. СПб.: Питер, 2007. С. 173-216.

2. Немнюгин С. , Перколаб Л. Изучаем Turbo Pascal. СПб.: Питер, 2008. С. 237-271.

3. Павловская Т.А. Паскаль. Программирование на языке высокого уровня. Учебник для вузов. СПб.: Питер, 2008. С. 116-120, 291-313.

ВОПРОСЫ ВХОДНОГО КОНТРОЛЯ:

1. Опишите константы модуля Crt.

2. Перечислите переменные модуля Crt.

3. Перечислите подпрограммы модуля Crt.

4. Опишите типы, константы и переменные модуля Dos.

5. Перечислите подпрограммы модуля Dos.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Модуль Graph обеспечивает работу с экраном в графическом режиме. Экран в графическом режиме представляется в виде совокупности точек ― пикселов. Цвет каждого пиксела можно задать отдельно. Начало координат находится в левом верхнем углу экрана и имеет координаты (0, 0). Количество точек по горизонтали и вертикали (разрешение экрана) и количество доступных цветов зависят от графического режима. Графический режим устанавливается с помощью служебной программы ― графического драйвера.

 

Модуль Graph обеспечивает:

· вывод линии и геометрических фигур заданным цветом и стилем;

· закрашивание областей заданным цветом и шаблоном;

· вывод текста различным шрифтом, заданного размера и направления;

· определение окон и отсечение по их границе;

· использование графических спрайтов и работу с графическими страницами.

В отличие от текстового режима в графическом курсор невидим, однако его можно переместить в любую точку экрана.

 

Структура графической программы

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

· подключение модуля Graph;

· перевод экрана в графический режим;

· установка параметров изображения;

· вывод изображения;

· возврат в текстовый режим.

Модуль Graph обеспечивает работу с экраном в графическом режиме.


Константы цветов ― используются в Set AllPalette, SetPalette и другими процедурами.

Константа Значение Цвет
Black Черный
Blue Синий
Green Зеленый
Cyan Бирюзовый
Red Красный
Magenta Малиновый
Brow Коричневый
LightGray Светло-серый
DarkGray Темно-серый
LightBlue Светло-голубой
LightGreen Светло-зеленый
LightCyan Светло-бирюзовый
LightRed Светло-красный
LightMagenta Светло-салиновый
Yellow Желтый
White Белый

 

Константы драйверов графических устройств ― используются с подпрограммами, которые вызывают графические драйвера и палитры цветов.

Константа Значение Примечание
Detect Автоматическое распознавание драйверов
CGA  
MCGA  
EGA  
EGA64  
EGAMono  
IBM8514  
HercMono  
ATT400  
VGA  
PC3270  
CurrentDriver -128 Передается процедуре GetModeRange

 

Константы образцов закрашивания.

Константа Значение Примечание
EmtyFill Закрашивание области фоновым цветом
SolidFill Непрерывное закрашивание области
LineFill Закрашивание - - - - - - - - -
LtSlashFill Закрашивание //////////////////
SlashFill Закрашивание жирными линиями ///////////
BkSlashFill Закрашивание жирными линиями \\\\\\\\\\\\\
LtBkSlashFill Закрашивание \\\\\\\\\\\\\\\\\\\\\\
HatchFill Закрашивание редкой штриховкой
XHatchFill Закрашивание частой штриховкой (в обоих направлениях)
Interleava Закрашивание прерывестой линией
WideDotFill Закрашивание линией из редких точек
CloseDotFill Закрашивание линией из частых точек
UserFill Закрашивание, определенное пользователем

Константы шрифтов.

Константа Значение Примечание
DefaultFont Растровый шрифт 8х8
TriplexFont Векторный шрифт
SmallFont  
SansSerifFont  
GothicFont  
HorizDir Слева направо
VertDir Сверху вниз
UserCharSize Определенный пользователем размер символов

 

Константы grXXXX ― возвращают для последней графической операции код ошибки.

Константа Значение Примечание
grOk Нет ошибки
grNoInitGraph -1 Графика не инициализирована
grNotDetected -2 Графические средства не найдены
grFileNotFound -3 Файл не найден
grInvalidDriver -4 Недопустимый драйвер
grNoLoadMem -5 Память не загружена
grNoScanMem -6 Ошибка при просмотре памяти
grNoFloodMem -7 Ошибка при закрашивании
grFontNotFound -8 Шрифт не найден
grNoFontMem -9 Шрифт не загружен в память
grInvalidMode -10 Недопустимый режим
grError -11 Ошибка графики
grIOError -12 Ошибка ввода-вывода графики
grInvalidFont -13 Недопустимый файл шрифта
grInvalidFontNum -14 Недопустимый номер шрифта

 

Константы выравнивания ― это константы, управляющие горизонтальным и вертикальным выравниванием текста.

Константа Значение Примечание
LeftText По левому краю
CenterText По центру
RightText По правому краю
BottomText По нижнему краю
CenterText По центру
TopText По верхнему краю

 

Константы стиля линии ― определяют стиль и толщину линии. Используются в процедурах GetLineSettings и GetLineStyle.

Константа Значение Примечание
SolidLn Непрерывная
DottedLn Линия из точек
CenterLn Точки и тире
DashedLn Пунктирная
UserBitLn Стиль, заданный пользователем
NormWidth Обычная толщина
ThickWidth Жирная линия

Переменные модуля Graph.

Var GraphFreeMemPtr: Pointer;

Содержит адрес подпрограммы освобождения динамической памяти.

 

Var GraphGetMemPtr: Pointer;

Содержит адрес подпрограммы динамического распределения памяти.