Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Решение математических задач.pdf
Скачиваний:
28
Добавлен:
13.02.2015
Размер:
858.1 Кб
Скачать

4. Построение графиков функций и создание диаграмм

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

Как было продемонстрировано в главе 1 данного пособия, некоторые простейшие операции по созданию и использованию графических объектов (например, создание таблицы) возможны и в текстовом режиме работы компьютера. Но несравненно большие возможности по разработке графических изображений, включая создание различных сложных по своей структуре композиций, трехмерной графики, а также анимации, то есть движущихся изображений, представляет графический режим работы компьютера.

При решении различных инженерных задач очень полезным является представление полученных результатов в наглядном виде, для чего применяется построение графиков, а также создание диаграмм различного вида, как двумерных, так и объемных. Система Turbo Pascal (при использовании графического режима) обладает для этого всеми необходимыми средствами.

Однако нужно иметь в виду, что в отличие от устанавливающегося по умолчанию в Turbo Pascal текстового режима, для установки графического режима требуется соблюдение определенных условий и выполнение ряда операций. В начале данного пособия мы упоминали о том, что в принципе для нормальной работы системы Turbo Pascal достаточно наличия в системе программирования лишь файлов, содержащихся в каталоге bin, и это

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

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

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

исодержит каталог bgi.

Вданном каталоге наряду с другими файлами содержится несколько файлов имеющих расширение .bgi. Это и есть файлы драйверов. К их числу

относятся:

ibm8514.bgi pc3270.bgi

cga.bgi egavga.bgi herc.bgi

75

Основными характеристиками драйверов являются разрешение, поддерживаемое драйвером, и количество цветов в палитре. Для того чтобы понять, что это такое, следует рассмотреть некоторые особенности работы монитора компьютера в графическом режиме. В таком режиме элементарными кирпичиками, из которых строятся изображения, являются не символы, как в текстовом режиме, а отдельные точки. Такая элементарная точка называется термином «пиксель», что представляет собой сокращение англоязычного словосочетания picture cell, означающего в переводе

«элемент картинки». Максимальное количество таких точек, которое помещается на экране монитора по горизонтали и по вертикали при работе в определенном режиме, и называется разрешением. Как правило, монитор современных компьютеров может работать с несколькими различными разрешениями. Минимально допустимым для графического режима в

системе Turbo Pascal является разрешение 320*200, обеспечиваемое драйвером cga.bgi. (В этом режиме на экране помещается 320 точек по

горизонтали и 200 точек по вертикали). Для большинства же современных мониторов подходит режим, устанавливаемый драйвером egavga.bgi,

который дает разрешение 640*480. Нетрудно подсчитать, что количество элементов изображения в этом случае может достигать 307200, (в текстовом режиме, как показано в главе 1 данного пособия, можно использовать не более 2000 элементов).

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

числами, но удобнее использовать соответствующие названия цветов:

White, Green, Red, Blue и т. д.

Большинство драйверов позволяют использовать несколько

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

следующих режимах для двух различных видеоадаптеров.

Для адаптера ega (усовершенствованный графический адаптер):

1)разрешение 640*200, палитра 16 цветов;

2)разрешение 640*350, палитра 16 цветов.

Для адаптера vga (видеографический адаптер):

1)разрешение 640*200, палитра 16 цветов;

2)разрешение 640*350, палитра 16 цветов;

3)разрешение 640*480, палитра 16 цветов;

4)разрешение 320*200, палитра 256 цветов.

76

Убедившись в наличии соответствующего каталога с драйверами, можно приступать к дальнейшим действиям.

Первое, что необходимо сделать в программе для запуска графического режима (процесс запуска часто также называют инициализацией), – это дать команду подключения графического модуля. Графический модуль содержит ряд процедур, используемых как для рисования различных объектов (точек, линий, прямоугольников, окружностей, дуг), так и для управления графическим режимом. Вид команды подключения этого модуля:

Uses Graph;

Данная команда размещается, как и команда Uses Crt,

непосредственно после заголовка программы. В модуле Graph содержится процедура InitGraph, которая непосредственно запускает или, иначе

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

InitGraph(видеоадаптер, режим, путь);

где видеоадаптер, режим и путь – параметры данной процедуры. Видеоадаптер имя целочисленной переменной, значением которой

является тип используемого видеоадаптера, режим – имя целочисленной

переменной, значением которой является устанавливаемый режим видеоадаптера, путь – путь к каталогу, содержащему драйверы. Ниже мы

рассмотрим каждый из этих параметров более подробно.

Для того чтобы вышеуказанные параметры, характеризующие тип адаптера и режим, можно было использовать в процедуре, их требуется предварительно описать в разделе описания переменных таким, например, образом:

var grad, grrg:integer;

Далее, перед использованием этих переменных в процедуре, им следует присвоить определенные значения. Этими значениями могут быть либо числовые коды, соответствующие определенному типу видеоадаптера, либо названия этих видеоадаптеров и соответствующих им режимов. Например, числовой код адаптера vga равен 9, а режим работы данного адаптера

vgahi, обеспечивающий разрешение 640*480, имеет код 2. Поэтому соответствующие характеристики можно задать следующим образом:

grad:=9; grreg:=2;

или иначе так :

grad:=vga; grreg:=vgahi;

77

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

grad:=detect;

в ходе выполнения данной команды компьютер автоматически определит имеющийся адаптер и наиболее подходящий режим работы. В таком случае второму параметру вообще можно не присваивать какого-либо значения, так как оно будет уже определено.

Наконец нужно определить третий параметр стандартной процедуры посредством указания пути к каталогу bgi. Маршрут к каталогу включает в

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

например, каталог bgi находится на логическом диске d в каталоге tp7, то путь будет выглядеть следующим образом: d:\tp7\bgi. Для другого

компьютера, где каталог bgi может быть расположен на другом диске и в другом каталоге верхнего уровня, путь может выглядеть по-другому, но в

любом случае он должен быть заключен в апострофы.

Таким образом, в нашем случае вызов процедуры InitGraph выглядит следующим образом:

InitGraph (grad,grreg,’ d:\tp7\bgi’);

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

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

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

program grafika; Uses Graph;

beginvar grad,grreg: integer;

grad:=detect; InitGraph(grad,grreg,’ d:\tp7\bgi’);

78