Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование для начинающих 2011-09-02.pdf
Скачиваний:
45
Добавлен:
09.06.2015
Размер:
576.39 Кб
Скачать

13. Графика в Паскале

13.1. Введение

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

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

13.2. Инициализация графического режима

Для того чтобы использовать в программе графические процедуры необходимо подключить стандартный модуль с графическими процедурами и функциями. В среде PascalABC он называется GraphABC:

uses

GraphABC;

Если вы используете PascalABC, то для перехода в графический режим этого достаточно.

Отличие среды Borland Pascal

В Borland Pascal соответствующий модуль называется просто Graph. Кроме того, для работы с графикой придется произвести ряд шаманских действий. А именно описать две целочисленные переменные (традиционно для них используют идентификаторы gd и gm):

gd, gm: integer;

В самой программе, перед тем как использовать графические процедуры, необходимо разместить такие строки:

gd:=DETECT;

InitGraph(gd, gm, '<путь к каталогу, где лежит файл egavga.bgi>');

Файл egavga.bgi обычно лежит в каталоге BGI, который в свою очередь находится в каталоге Паскаля. Например, путь может выглядеть так: C:\BP\BGI.

Нет смысла подробно разбирать, что происходит при выполнении перечисленных операторов и что это за загадочный файл egavga.bgi. Паскаль, как известно, рассчитан на операционную систему MS DOS. Современные операционные системы с самого начала работают в графическом режиме и каких-то особых предварительных действий для работы с графикой не требуется (либо они будут совершенно другими). Так что просто вставляйте в программы указанные строки и не забивайте голову лишней информацией.

Следует иметь в виду, что после перехода в графический режим (после выполнения процедуры InitGraph) перестают работать процедуры текстового ввода/вывода (Read, Write и т.д.) Так что если требуется что-то ввести с клавиатуры, делайте это до вызова InitGraph. Выйти из графического режима можно с помощью процедуры CloseGraph.

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

program GraphicsPrg; uses

Graph; var

gd, gm: integer;

<Описание прочих переменных> begin

<Работа в текстовом режиме. Можно пользоваться Read’ом и Write’ом> gd:=DETECT;

InitGraph(gd, gm, 'c:\BP\bgi');

<Работа в графическом режиме. Можно рисовать> CloseGraph; {Выход из графического режима} <Снова работаем в текстовом режиме>

end.