ФГБОУ ВПО «Воронежский государственный технический университет»
Кафедра конструирования и производства радиоаппаратуры
571-2015
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к лабораторным работам № 7-8 по дисциплине «Информатика» для студентов направления подготовки
11.03.03 «Конструирование и технология электронных средств» (профиль «Проектирование и технология радиоэлектронных средств»)
ипо дисциплине «Спецглавы информатики»
12.03.01«Приборостроение» (профиль «Приборостроение») очной и заочной форм обучения
Воронеж 2015
Составитель |
д-р техн. наук М.А. Ромащенко |
УДК 004.4
Методические указания к лабораторным работам № 7-8 по дисциплине «Информатика» для студентов направления подготовки 11.03.03 «Конструирование и технология электронных средств» (профиль «Проектирование и технология радиоэлектронных средств») и по дисциплине «Спецглавы информатики» для студентов направления подготовки 12.03.01 «Приборостроение» (профиль «Приборостроение») очной и заочной форм обучения / ФГБОУ ВПО «Воронежский государственный технический университет»; сост. М.А. Ромащенко, 2015. 16 с.
Методические указания предназначены для выполнения лабораторных работ № 7 и 8 по дисциплине «Информатика» бакалаврами первого курса направления подготовки 11.03.03 «Конструирование и технология электронных средств» и по дисциплине «Спецглавы информатики» бакалаврами первого курса направления подготовки 12.03.01 «Приборостроение» очной и заочной форм обучения.
Методические указания подготовлены в электронном виде и содержатся в файле ЛР 7-8.pdf.
Табл. 2. Библиогр.: 4 назв.
Рецензент д-р техн. наук, проф. О.Ю. Макаров
Ответственный за выпуск |
зав. кафедрой |
|
д-р техн. наук, проф. А.В. Муратов |
Издается по решению редакционно-издательского совета Воронежского государственного технического университета
© ФГБОУ ВПО «Воронежский государственный технический университет», 2015
1.ЛАБОРАТОРНАЯ РАБОТА №7
ИЗУЧЕНИЕ ГРАФИЧЕСКИХ ВОЗМОЖНОСТЕЙ ЯЗЫКА ПАСКАЛЬ И МОДУЛЯ GRAPH
Цель работы: изучить назначение модуля Graph языка Паскаль. Закрепить знания об основных процедурах и функциях работы с графикой на языке Паскаль. Освоить методы изображения простейших геометрических фигур и вывода текста в графическом режиме.
Время работы: 8 часов.
1.1. Домашние задания и методические указания по их выполнению
Задание 1 – изучить назначение модуля Graph и графического режима языка Паскаль.
В состав Паскаля включена мощная библиотека графических подпрограмм Graph. Библиотека содержит в общей сложности более 50 процедур и функций, предоставляющих программисту самые разнообразные средства управления графическим экраном. Для использования графических возможностей Паскаля необходимо подключить модуль Graph при помощи команды Uses.
Стандартное состояние компьютера в момент запуска программы из среды ТурбоПаскаль соответствует текстовому режиму. Для использования графических средств необходимо определенным образом инициировать графический режим работы видеоадаптера. Это достигается подключением нужного графического драйвера. Обычно они располагаются в папке BGI с расширением BGI, например, EGAVGA.BGI
Процедура InitGraph инициирует графический режим работы адаптера. Заголовок процедуры имеет вид:
procedure InitGraph(var Driver, Mode: Integer; Path: String);
где, Driver определяет тип графического драйвера, а Mode задает режим его работы; Path – указывает путь где расположен драйвер.
Если программа рассчитана на работу с любым адаптером, то обращение к процедуре выполняется с требованием автоматического определения типа драйвера
Driver:=Detect;
InitGraph(Driver, Mode, ``);
Path можно не указывать, при условии когда нужный драйвер находится в текущем каталоге.
Процедура CloseGraph завершает работу адаптера в графическом режиме
ивосстанавливает текстовый режим работы.
Вграфическом режиме указатель текущей позиции на экране, в отличии от текстового курсора, невидим. Положение и любая координата на графическом экране задается относительно левого верхнего угла, имеющего координаты 0,0.
Пример программы перехода в графический режим
Program Graph_Demo;
Uses Graph;
var Driver, Mode: Integer;
begin
Driver:=Detect; InitGraph(Driver, Mode, '');
OutText('Включен графический режим'); Readln;
CloseGraph;
Writeln('Графический режим выключен'); Readln;
end.
Задание 2 – закрепить знания об основных процедурах и функциях работы с графикой на языке Паскаль.
Функции GetMaxX и GetMaxY возвращают значения содержащие максимальные координаты экрана в текущем режиме по горизонтали и вертикали.
Процедура SetViewPort устанавливает прямоугольное окно на графическом экране. Заголовок процедуры имеет вид:
procedure SetViewPort(X1,Y1,X2,Y2: Integer; ClipOn: Boolean);
X1,Y1 – координаты левого верхнего угла окна; X2,Y2 – правого нижнего; ClipOn определяет отсечку не умещающихся в окне элементов изображения – True элементы отсекаются; False – границы окна игнорируются.
Процедура MoveTo устанавливает новое текущее положение указателя. Заголовок процедуры имеет вид:
2
procedure MoveTo(X,Y: Integer);
Процедура MoveRel устанавливает новое положение указателя в относительных единцах. Заголовок процедуры имеет вид:
procedure MoveRel(DX,DY: Integer);
Процедура ClearDevice очищает графический экран. После обращения к процедуре указатель устанавливается в левый верхний угол экрана.
Процедура ClearViewPort очищает графическое окно, а если оно не определено то весь экран. После обращения к процедуре указатель устанавливается в левый верхний угол экрана.
Процедура GetAspectRatio возвращает два числа, позволяющих оценить соотношение сторон экрана. Заголовок процедуры имеет вид:
procedure GetAspectRatio(var X,Y: Word);
Значения этих переменных позволяют вычислить отношение сторон графического экрана в пикселях и использовать его при построении правильных геометрических фигур.
Пример фрагмента кода для построения правильного квадрата со стороной L пикселов по вертикали
GetAspectRatio(Xasp,Yasp);
Rectangle(X1, Y1, X1+L*round(Yasp/Xasp), Y1+L);
Задание 3 – закрепить знания о процедурах и функциях рисования линий и точек на языке Паскаль.
Процедура PutPixel выводит заданным цветом точку по указанным координатам. Заголовок процедуры имеет вид:
procedure PutPixel(X,Y: Integer; Color: Word);
Процедура Line вычерчивает линию с указанными координатами начала и конца. Заголовок процедуры имеет вид:
procedure Line(X1,Y1,X2,Y2: Integer);
где, X1,Y1 – координаты начала линии, а X2,Y2 – конца.
Процедура LineTo вычерчивает линию от текущего положения указателя
3