- •Министерство образования и науки Республики Казахстан
- •МетодичеСкИе рекомендации и указания
- •Методические указания
- •1.3.Константы
- •1.3.2.Символьные константы
- •1.4.Переменные
- •1.5.Перечисляемые типы данных
- •1.6. Оператор присваивания
- •1.8.Организация программы
- •1.9.Комментарии
- •1.10.Операторы ввода-вывода
- •1.10.1.Операторы ввода
- •1.10.2. Операторы вывода
- •1.10.3. Стандартная форма вывода данных
- •1.10.4. Управление формой вывода данных
- •Вывод значений переменных
- •2.Задание
- •Лабораторная работа №2
- •1. Основные понятия
- •1.1. Оператор условного перехода
- •1.2. Оператор варианта.
- •1.3.Оператор безусловного перехода
- •1.4.Логические отношения
- •2.Задание
- •Лабораторная работа №3
- •1. Теоретические сведения.
- •1.1. Понятие циклического процесса.
- •1.2 Операторы цикла с присваиванием.
- •1.3. Оператор цикла с предусловием.
- •2. Задание
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6
- •2. Задание
- •5. Литература
- •Лабораторная работа №7
- •Длинна строки, определяется с помощью стандартной функции Length (St), которая возвращает целое число, равное количеству символов в строке St, например:
- •Очень полезна при работе со строками функция типа Integer
- •Лабораторная работа №8
- •Теоретические сведения
- •Задание
- •Контрольные вопросы.
- •Литература.
- •Лабораторная работа №9
- •1.Теоретические сведения.
- •2.Задание.
- •3.Контрольные вопросы.
- •Лабораторная работа № 10
- •Процедура
- •Функция
- •Выводит точку с координатами X, y цветом Color.
- •Процедура
- •Процедура
- •Процедура
- •Процедура
- •Процедура
- •4. Список литературы
- •1.Теоретическое положение 3
- •1. Основные понятия 16
- •1.1. Оператор условного перехода 17
- •5. Литература 43
- •1.Теоретические сведения 53
- •2.Задание 54
Лабораторная работа № 10
Тема: Разработка программ с использованием графических построений.
Цель: Научиться работать с монитором в графическом режиме, изучить графические возможности среды Pascal.
Теоретические сведения.
Установка графического режима.
Для использования графических возможностей необходимо подключить к программе модуль Graph.
Прежде чем использовать графические возможности, необходимо перевести монитор из текстового режима в графический. Это осуществляется процедурой:
Procedure InitGraph (Var gd, gm:Integer; Path:String),
в которой переменная gd определяет тип графического драйвера, переменная gm – режим работы графического адаптера, константа Path – маршрут поиска файла драйвера. Для автоматического определения типа драйвера можно использовать процедуру Detect:
gd: = detect;
InitGraph (gd, gm, C:\Bp\Bgi);
После такого обращения устанавливается графический режим работы экрана, а при выходе из процедуры переменные gd и gm содержат целочисленные значения, определяющие тип драйвера и режим его работы.
Процедура
Procedure CloseGraph;
завершает работу адаптера в графическом режиме и восстанавливает текстовый режим работы экрана.
В ходе работы в графическом режиме можно использовать функцию:
Function GraphResult : Integer;
возвращающюю значение, в котором закодирован результат последнего обращения к графическим процедурам. Для каждого значения в модуле Graph определена константа:
Const
grOk = 0; {Нет ошибок}
grInitGraph = -1; {Не инициализировался графический режим}
grNotDetect = -2; {Не определен тип драйвера}
grFileNotFind = -3; {Не найден графический драйвер}
grInvalidDriver = -4; {Неправильный тип драйвера
grNoLoadMem = -5; {Нет памяти для размещения драйвера}
grNoScanMem = -6; {Нет памяти для просмотра областей}
grNoFloodMem = -7; {Нет памяти для закраски областей}
grFontNotFound = -8; {Не найден файл со шрифтом}
grNoFontMem = -9; {Нет памяти для размещения шрифта}
grInvalidMode = -10 {Неправильный графический режим}
grError = -11; {Общая ошибка}
grError = -12; {Ошибка ввода-вывода}
grInvalidFont = -13; {Неправильный формат шрифта}
grInvalidFontNum = -14; {Неправильный номер шрифта}
После обращения к функции GraphResult признак ошибки сбрасывается, поэтому повторное обращение к ней вернет ноль.
С помощью функции
Function GraphErrorMzg(Code:Integer):String;
можно по коду ошибки Code получить текстовое сообщение.
Ниже приведена типичная последовательность операторов для инициации графического режима с автоматическим определением типа драйвера:
Var gd, gm, Error: Integer;
begin
gd: = Detect; {Автоопределение драйвера}
InitGraph (gd,gm,'C:\Bp\Bgi'); {Инициируем графику}
Error: = GraphResult; {Получаем результат}
If Not (Error = grOk)
then {Проверяем ошибку}
Begin
{Выводим сообщение об ошибке}
Writeln (GraphErrorMsg(Error)); ……..
end
else {нет ошибки}
Begin
….{команда работы с графикой}
CloseGraph {Закрывается графический режим}
end
end.
Координаты.
Экран монитора в графическом режиме представляет собой множество точек, изменяя цвет которых можно получить графическое изображение. Каждая точка имеет свои координаты. Т.о., экран в графическом режиме можно рассматривать как координатную плоскость (см. рис.1). Стандартный размер экрана монитора SVGA составляет 640*480 пиксел (точек). Левый верхний угол экрана имеет координаты (0,0). Размерность экрана можно получить с помощью функции типаInteger GetMaxX и GetMaxY, которые возвращают максимальные координаты экрана в текущем режиме работы соответственно по горизонтали (по X) и вертикали (по Y).
В графическом режиме, аналогично курсору в текстовом режиме, имеется графический указатель. Его координаты можно получить с помощью функции типа Integer GetX и GetY.
Процедура
Procedure MoveRel (dX, dY: Integer).
Здесь dX, dY – приращение новых координат указателя (соответственно по горизонтали и вертикали) относительно того положения, которое занимал указатель к моменту обращения к процедуре.
Цвета.
Процедура
Procedure SetColor (Color: Word);
устанавливает текущий цвет Color для выводимых линий и символов. В модуле Graph определены точно также те константы для задания цвета, как и в модуле Сrt.