
- •Министерство общего и профессионального образования Российской Федерации Уральский государственный технический университет Основы программирования на языке Паскаль
- •Структура программы на паскале
- •Типы данных
- •Правила программирования арифметических операций
- •Арифметические функции
- •Операции отношения (сравнения)
- •Логические операции
- •Приоритет операций
- •Операторы турбо-паскаля ввод и вывод данных
- •Составной оператор
- •Условный оператор
- •Оператор выбора
- •Операторы повторений (циклов) счетный цикл
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Использование массивов
- •Процедуры и функции
- •Описание и использование функций
- •Описание и использование процедур
- •Взаимодействие подпрограмм
- •Стандартные модули
- •Использование модуля crt
- •Практический пример. Программа "меню"
- •Использование модуля graph
- •Установка цветов
- •Изображение точек и линий
- •Практический пример. Построение графика функции
- •Работа с текстом
- •Практический пример. Построение спирали
- •Программирование с использованием нестандандартных типов данных перечисляемый тип
- •Множества
- •Основы программирования на языке Паскаль
Использование модуля graph
Этот модуль объединяет графические средства Турбо-Паскаля, позволяющие изображать на экране точки, прямые, окружности, эллипсы, многоугольники, выводить текст различными шрифтами, манипулировать цветом и т.д. Первое, что необходимо сделать перед началом использования любой из процедур модуля GRAHP - указать в разделе описаний Вашей программы:
USES GRAPH;
Далее, уже в разделе операторов, необходимо переключить дисплей в графический режим. Рекомендуется использовать автоматический способ установки. Турбо-Паскаль имеет функции, позволяющие определить:
- тип установленного на Вашем компьютере видеоадаптера
detect,
- максимальные размеры экрана по горизонтали и вертикали (в пикселях)
GetMaxX, GetMaxY.
Непосредственная установка графического режима осуществляется процедурой
InitGraph(gd, gm,pt);
где gd, gm - режим работы и тип графического адаптера (должны быть описаны как переменные целого типа),
pt - путь к драйверу (у нас эта программа имеет имя egavga.bgi) графического адаптера, строковая величина.
При работе рекомендуется заранее поместить драйвер в рабочий каталог, тогда можно pt не указывать. Далее приводится пример программы, которая устанавливает графический режим и определяет размеры экрана.
Program No14;
Uses Graph;
Var gd, gm: integer;
BEGIN
gd:=detect;
InitGraph(gd,gm,'');
Write('X max =',GetMaxX,' Y max =',GetMaxY);
readln; { задержка для фиксации изображения }
CloseGraph; { отмена графического режима }
END.
Фактически все операторы этой программы (кроме Write...) должны присутствовать во всех Ваших программах, работающих с графикой.
Напомним, что при переходе к графическому режиму экран очищается, а курсор исчезает. Его место занимает так называемый графический курсор, который на экране не отображается. После включения графического режима он устанавливается в точку (0,0) - левый верхний угол экрана. Разрабатывая программу, мы должны постоянно следить за его положением. Турбо-Паскаль имеет две функции, которые позволяют нам при необходимости определить положение графического курсора:
GetX и GetY.
Независимо от положения курсора в любой момент можно перенести его в требуемую точку экрана процедурой
MoveTo(x,y);
где x, y - координаты пикселя (обязательно целые).
Установка цветов
При переходе в графический режим автоматически устанавливается белый цвет отображаемых символов и графических объектов и черный цвет фона. Для установки требуемых цветов используются процедуры:
SetColor(n) - цвет изображения;
SetBkColor(n) - цвет фона;
где n - величина целого типа, задающая цвет. Нумерация цветов такая же, как и при программировании на языке Quick Basic.
Изображение точек и линий
Турбо-Паскаль располагает большим количеством процедур для изображения графических объектов (примитивов), поэтому здесь мы ограничимся описанием лишь некоторых из них.
Процедура отображения точки (пикселя)
PutPixel(x,y,n);
Отображает пиксель в точке с координатами x, y цветом с номером n.
Процедура
LineTo(x,y);
проводит прямую от ТЕКУЩЕГО положения графического курсора до точки с указанными координатами x, y и переводит в нее курсор. Цвет линии должен быть задан предварительно процедурой SetColor.
Процедура
Line(x1,y1,x2,y2);
Рисует прямую от точки с координатами x1, y1 до точки x2, y2.
Процедура
Circle(x,y,R);
Рисует окружность радиса R с центром в точке x,y.