ЛАБОРАТОРНАЯ РАБОТА №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;
Содержит адрес подпрограммы динамического распределения памяти.