5. руководство программиста





Название5. руководство программиста
страница14/16
Дата публикации04.04.2015
Размер2.01 Mb.
ТипРуководство
100-bal.ru > Информатика > Руководство
1   ...   8   9   10   11   12   13   14   15   16

База данных



Для работы с настоящей программой Вам необходимо знание языка

TURBO-PASCAL 7.0, интегрированной среды, персонального компьютера

IBM PC.

Расширенный алгоритмический язык TURBO-PASCAL7.0 в качестве гра-

фических средств соддержит в арсенале два стандартных модуля:

Grt и Graph.

Модуль Grt содержит процедуры и функции следующего назначения:

1.Процедуры задания режимов работы.

2.Полцедуры управления цветом.

3.Процедуры и функции работы с экраном.

4.Функции работы с клавиатурой.

5.Процедуры управления звуком и др.

Процедуры и функции модуля Graph имеют назначение:

1.Управление графическим режимом.

2.Управление экраном, окном, страницей.

3.Управление цветом и палитрой.

4.Работа с точками и линиями.

5.Построение различных фигур.

6.Работа с текстом.

7.Обмен с памятью.

В настоящей программе они скомпанованы для изучения в следующие

разделы:

1.Программирование графических режимов.

2.Управление курсором и полем рисования.

3.Формирование прямолинейных монохромных изображений

4.Управление цветом и стилем изображений.

5.Программирование цветных криволинейных изображений

6.Формирование графических текстов.

7.Программирование озвученных динамических сцен.

Первые два раздела являются справочными, а остальные разделы

содержат теоретическую часть и контрольные вопросы.

0

ПРОГРАММИРОВАНИЕ ГРАФИЧЕСКИХ РЕЖИМОВ

Состав, назначение и взаимное положение операторов управления

графическими режимами в языке TURBO-PASCAL удобно рассматривать в

контексте структуры характерной графической программы:
---------- program <идентификатор> - заголовок программы.

I uses Graph - используемые модули.

I {Действия в текстовом режиме}.

I ------ InitGraph - инициализация графических средств

I I {Действия в графическом режиме " по умолчанию".

I I SetGraphMode - изменение графического режима.

I I {Действия в новом графическом режиме}.

I I I-- RestoreCrtMode - временный переход в текстовому режиму.

I I I {Действия в текстовом режиме}.

I I I-> SetGraphMode - возврат в графический режим.

I I {Действия в графическом режиме}.

I I-----> CloseGraph

I {Действия в текстовом режиме}.

I--------> end. - завершение программы.

* proсedure InitGraph(var GraphDriver:integer;

* var GraphMode:integer;

* DriverPath:string);
Инициализирует графическую систему, устанавливает графический

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

цвета и т.д..

ПРОГРАММИРОВАНИЕ ГРАФИЧЕСКИХ РЕЖИМОВ

GraphDriver - переменная, в которую необходимо записать код

требуемого графического драйвера или нуль, если

требуется автоматическое определение драйвера.
GraphMode - переменная, в которую процедура помещает код

графического режима.

DriverPath - строка, содержащая путь к драйверу (если строка

пустая, считается, что драйвер находится в текущем

каталоге).

В случае аварийной ситуации процедура устанавливает код ошибки:

-2 - нет графического адаптера;

-3 - нет драйвера устройства;

-4 - ошибка в драйвере;

-5 - нет памяти для загрузки драйвера;

-10 - недопустимый режим для выбранного драйвера.
* procedure CloseGraph(без параметров);
Восстанавливает текстовый режим работы дисплея,бывший до вызова

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

отведенную под графический драйвер.
* procedure SetGraphMode(Mode:integer);
Mode - графический режим.Изменяет ранее используемый графи-

ческий режим либо возвращает систему в прежний графический режим

после временного перехода к текстовому режиму. Условием использо-

вания оператора является сохранение в динамической области ОЗУ ранее

загруженного графического драйвера.

ПРОГРАММИРОВАНИЕ ГРАФИЧЕСКИХ РЕЖИМОВ

* procedure RestoreCrtMode(без параметров);
Восстанавливает исходный текстовый режим дисплея без потери в

динамической области ОЗУ програмы графического драйвера.
Имеется ряд операторов для получения справок о текущем

графическом режиме:
* function GetDriverName:string; -

Возвращает строковое название

текущего графического адаптера.
* function GetModeName(ModeNumber:integer):string -

Возвращает строковое название

требуемого графического режима.
* function GetMaxMode:integer -

Возвращает максимальный номер

графического режима для текущего

адаптера.
* procedure GetModeRange(GraphDriver:integer;

* var LowMode,HighMode:integer); -
Выдает справку о диапазоне номеров графических режимов задан-

ного графического адаптера. Возвращаемые параметры LowMode и

HighMode означают минимальный и максимальный номера графических

режимов, соответственно.
* function GetGraphMode:integer; -

Возвращает номер текущего графического режима.
ПРОГРАММИРОВАНИЕ ГРАФИЧЕСКИХ РЕЖИМОВ

* procedure GetAspectRatio(var Xasp, Yasp:word); -

Возвращает в своих параметрах ввеличины

дискретов экрана по осям X и Y ,сооответственно.

0

УПРАВЛЕНИЕ КУРСОРОМ И ПОЛЕМ РИСОВАНИЯ
В графическом режиме также как и в текстовом положение выво-

димых на экран данных в каждый момент времени определяется курcо-

ром. Однако, в этом случае курсор невидим. При вхождении в гра-

фический режим с помощью процедуры InitGraph курсор автоматически

помещается в левый верхний угол экрана, фон экрана принимает первый

(черный) цвет палитры. Для определения и изменения положения курсора

без рисования в TURBO-PASCAL предусмотрены операторы MoveTo,MoveRel,

GetX,GetY.
* procedure MoveTo(x,y:integer);
где x,y - координаты по горизонтали и вертикали соответственно

в отсчете от левого верхнего угла экрана.
* procedure MoveRel(Dx,Dy:integer);
Смещает курсор без рисования относительно его текущего поло-

жения. Dx, Dy - смещения курсора по координатам x и y.
* function GetX: word;
Определяет для курсора значение координаты X.
* function GetY: word;
Определяет для курсора значение координаты Y.


УПРАВЛЕНИЕ КУРСОРОМ И ПОЛЕМ РИСОВАНИЯ
При управлении положением курсора полезными оказываются также

справочные функции GetMaxX и GetMaxY, которые возвращают координаты

самой правой и самой нижней возможных графических позиций курсора,

соответственно, для текущего графического драйвера и режима.
* procedure ClearDevice;
Очищает экран от следов предшествовавшего рисования и восста-

навливает исходные параметры графики.
* procedure SetViewPort(X1,Y1,X2,Y2:word;Clip:boolean);
Устанавливает прямоугольное окно рисования с перемещением

курсора в левый верхний угол окна. Параметры процедуры имеют следу-

ющий смысл:(X1,Y1) и (X2,Y2) определяют соответствввенно координаты

левого верхнего и правого нижнего углов окна, а Clip принимает

значение true при необходимости отсечения изображения за границами

окна и false, когда этого делать не надо .
* procedure ClearViewPort;
Очищает текущее окно, заполняя его первым цветом текущей

цветовой палитры, и переводит курсор в левый верхний угол окна.
* procedure GetViewSettings(var ViewPortType);
Возвращает параметры активного окна просмотра в переменной

ViewPort. Тип ViewPortType описан в модуле Graph.

0

ФОРМИРОВАНИЕ ПРЯМОЛИНЕЙНЫХ МОНОХРОМНЫХ ИЗОБРАЖЕНИЙ

В данном разделе не рассматривается управление

цветом и стилем рисования и закрепляется за

фоном светло-серый, а за курсором синий цвет.

* procedure LineTo(X,Y:integer);

щ

Проводит отрезок прямой от текущего положения

курсора к заданной точке (X,Y).

* procedure LineRel(Dx,Dy:integer);

2

Рисует отрезок прямой по направлению к точке,

смещенной от текущего положения курсора на рас-

стояние Dx и Dy по осям OX и OY .

* procedure Line(X1,Y1,X2,Y2:integer);

3

Проводит прямую между точками (X1,Y1) и

(X2,Y2).

После выполнения этой и последующих процедур

курсор возвращается в предшествующее положение.


ФОРМИРОВАНИЕ ПРЯМОЛИНЕЙНЫХ МОНОХРОМНЫХ ИЗОБРАЖЕНИЙ

* procedure Rectangle(X1,Y1,X2,Y2:integer);

4

Строит контуры прямоугольника с координатами

левого верхнего (X1,Y1) и нижнего правого

(X2,Y2) углов.

* procedure Bar(X1,Y1,X2,Y2:integer);

5

Строит прямоугольник, закрашенный текущим цветом

и орнаментом заполнения. (X1,Y1), (X2,Y2) -

координаты левого верхнего и правого нижнего

углов соответственно.

* procedure Bar3D(X1,Y1,X2,Y2:integer;

* Depth:word;Top:boolean)

6

Рисует аксонометрию закрашенного по фасаду

прямоугольного параллелепипеда.

(X1,Y1),(X2,Y2) - координаты левого верхнего и

правого нижнего углов

прямоугольного фасада.

Depth - ширина боковой грани (отсчитывается по

годизонтали.

Top - признак включения верхней грани.


ФОРМИРОВАНИЕ ПРЯМОЛИНЕЙНЫХ МОНОХРОМНЫХ ИЗОБРАЖЕНИЙ

* procedure DrawPoly(NumPoints:word;

* var PolyPoints);

7Строит ломаную линию.

NumPoints - число вершин многоугольника

PolyPoints - переменная без типа, содержащая

NumPoints+1 пар координат вершин многоугольника

(первая и последняя вершины должны совпадать).

* procedure FillPoly(NumPoints:word;var PolyPoints);

8

Закрашивает многоугольник текущим цветом и

орнаментом. Параметры NumPoints и PolyPoints

именют тот же смысл и тип, что и одноимеынные

параметры процедуры DrawPoly.

0

01С ПОМОЩЬЮ КАКИХ ПРОЦЕДУР МОЖНО НАИБОЛЕЕ РАЦИОНАЛЬНО ПОСТРОИТЬ

ОТРЕЗОК , ЕСЛИ ИЗВЕСТНЫ КООРДИНАТЫ КОНЦОВ?
1 LineTo(X,Y);

Line(X1,Y1,X2,Y2);
2 Line(X1,Y1,X2,Y2);

DrawPoly(NumPoint,PolyPoints);
3 LineTo(X,Y);

Line(X1,Y1,X2,Y2);

DrawPoly(NumPoint,Poly Points);
4 Line(X1,Y1,X2,Y2);

*

02КАК ПОСТРОИТЬ СТОЛБЧАТУЮ ДИАГРАММУ В ЗАРАНЕЕ СФОРМИРОВАННОЙ РАМКЕ?

1

1 Bar3D(X1,Y1,X2,Y2,Depth,true);

SetViewPort(X1,Y1,X2,Y2,false);

ClearViewPort;

Bar3D(X1,Y2,X2,Y3,Depth,false);
2 Bar3D(X1,Y1,X2,Y2,Depth,true);

SetViewPort(X1,Y1,X2,Y2,Depth,true);

ClearViewPort;

Bar3D(X1,Y1,X2,Y3,Depth,false);
3 Bar3D(X1,Y1,X2,Y2,Depth,true);

Bar3D(X1,Y2,X2,Y3,Depth,false);
4 Bar3D(X1,Y1,X2,Y2,Depth,true);

Bar3D(X1,Y2,X2,Y3,Depth,true);

*

03КАК НА ПОЛНОСТЬЮ ЗАКРАШЕННОМ ЭКРАНЕ ПОЛУЧИТЬ НЕЗАКРАШЕННУЮ ПРЯМОУ-

ГОЛЬНУЮ ОБЛАСТЬ?
1 Bar(X1,Y1,X2,Y2);

SetViewPort(X1,Y1,X2,Y2,true);

ClearViewPort;
2 Bar(X1,Y1,X2,Y2);
3 Bar3D(X1,Y1,X2,Y2,Depth,true);
4 Bar3D(X1,Y1,X2,Y2,false);

*

04КАК ИСКЛЮЧИТЬ ПОЯВЛЕНИЕ НА ЭКРАНЕ ЗАТЕНЯЕМЫХ КОНТУРОВ НИЖНЕГО

2 ПАРАЛЛЕЛЕПИПЕДА В ОБЬЕМНОЙ СТОЛБЧАТОЙ ДИАГРАММЕ?
1 Использовать процедуру Bar3D дважды. построенный верхний парал-

лелепипед "закроет" автоматически верхнюю грань нижнего парал-

лелепипеда.
2 Установить параметр Top=false в процедуре Bar3D при построении

нижнего параллелепипеда.
3 Установить параметр Top=false в процедуре Bar3D при построении

верхнего параллелепипеда.
4 Построить ломаную линию соответствующую контурам верхней грани

нижжнего параллелепипеда с помощью процедуры DrawPole и закра-

сить его в белый цвет с помощью процедуры FillPole.

*

05КАК НА ЭКРАНЕ ЗАКРАСИТЬ БЕЛЫМ ЦВЕТОМ ОБЛАСТЬ, ОГРАНИЧЕННУЮ ЗВЕЗДОЙ?
1 Построить звезду с помощью процедуры DrawPole(10,zve),где zve -

константа типа PointType, является массивом координат вершин

фигуры и содержит 10 элементов.
2 Использовать процедуру DrawPole(10,zvez) , где константа zvez

содержит 11 элементов.
3 Применить процедуру FillPole(10,zves), где константа zves содер-

жит 11 элементов.
4 Установить цвет рисования белый и с помощью процедуры

FillPole(10,zves) построить звезду, закрашенную белым цветом.

*

06С ПОМОЩЬЮ КАКОЙ ПРОЦЕДУРЫ ИЛИ ФУНКЦИИ ВОЗМОЖНО УСТАНОВИТЬ СТРОКОВОЕ

НАЗВАНИЕ ТЕКУЩЕГО ГРАФИЧЕСКОГО АДАПТЕРА?
1 Функция GetDriverName;
2 Функция GetModeName(ModeNumber);
3 Функция GetMaxMode;
4 Процедура GetModeRange(GraphDriver;LowMode,HighMode);

*

07СУЩЕСТВУЕТ ЛИ ВОЗМОЖНОСТЬ ОПРЕДЕЛЕНИЯ ЗНАЧЕНИЯ КООРДИНАТ КУРСОРА.
1 Нет
2 Да, с помощью функций GetX, GetY.
3 Да, с помощью функций GetMaxX, GetMaxY.
4 Да, с помощью функции MoveRel.

*

08С ПОМОЩЬЮ КАКОГО ФРАГМЕНТА ПРОГРАММЫ МОЖНО ВЫВЕСТИ НА ЭКРАН

3 СЛЕДУЮЩУЮ КАРТИНКУ? КУРСОР НАХОДИТСЯ В ТОЧКЕ (X1,Y1).
1 Line(X,Y,X1,Y1);

MoveRel(X,Y+dY);

Line(X,Y+dY,X1,Y1);

MoveRel(0,dY);

LineTo(X1,Y1);

2 LineTo(X1,Y1);

LineRel(0,dY);

LineRel(0,2dY);
3 LineTo(X,Y);

MoveRel(0,dY);

Line(X,Y+dY,X1,Y1);

MoveRel(0,dY);

Line(X,Y+2dY,X1,Y1);
4 LineTo(X,Y);

LineRel(0,dY);

LineRel(0,2dY);

*

09ГДЕ ПОМЕЩАЕТСЯ КУРСОР И КАКОЙ ФОН ЭКРАНА УСТАНАВЛИВАЕТСЯ ПРИ

ВХОЖДЕНИИ В ГРАФИЧЕСКИЙ РЕЖИМ С ПОМОЩЬЮ ПРОЦЕДУРЫ InitGraph?
1 Курсор помещается в центр экрана и устанавливается черный

цвет фона экрана.
2 Курсор помещается в правый верхний угол экрана и устанав-

ливается черный цвет фона экрана.
3 Курсор помещается в левый верхний угол экрана и устанавлива-

ется черный цвет фона экрана.
4 Курсор помещается в левый верхний угол экрана и устанавлива-

ется белый цвет фона экрана.

*

10С КАКОЙ ЧАСТОТОЙ ОБНОВЛЯЕТ ЭКРАН КОНТРОЛЛЕР ДИСПЛЕЯ ПЭВМ IBM?
1 50-60 раз/сек
2 20-40 раз/сек
3 100-120 раз/сек
4 200 раз/сек

*

0


011Процедуру LineTo(X,Y) можно использовать только в случае, когда 002

один из концов отрезка совпадает с положением курсора.

*

2Ответ правильный. Однако, применение процедуры DrawPoly в данном 004

случае не является рациональным.

*

3Процедуру LineTo(X,Y) можно использовать только в случае, когда один002

из концов отрезка совпадает с положением курсора. Процедура DrowPoly

не является в данном случае рациональной.

*

4Ответ правильный. 005

*

*

021Отввет неверный. Верхний параллелепипед будет иметь очищенную перед-002

нюю грань. Это не требуется по условию задачи. При этом неверно

указаны параметры процедуры Bar3D при построении второго параллеле-

пипеда.

*

2Неправильно указаны параметры процедуры SetViewPort. Координаты окна002

отсчитываются от левого верхнего угла экрана в то время как для про-

цедуры Bar3D от левого верхнего угла окна.

*
1   ...   8   9   10   11   12   13   14   15   16

Похожие:

5. руководство программиста iconРуководство: Общее руководство праздника осуществляется учителем...
Использование средств физического воспитания в организации активного отдыха укрепление здоровья учащихся
5. руководство программиста iconМосковский государственный университет приборостроения и информатики...
Личность инженера (менеджера, программиста и т п.) и особенности технического мышления
5. руководство программиста iconТема: «Разработать оптимальное рабочее место инженера-программиста,...

5. руководство программиста icon1. Руководство племенной работой. 1 Руководство племенной работой...
Коучинг с помощью нлп: Практическое руководство по достижению поставленных целей / Джозеф О'Коннор, Андреа Лейджес. — Пер с англ....
5. руководство программиста iconПрограмма по формированию навыков безопасного поведения на дорогах...
Тем не менее, у каждого программиста есть свои предпочтения, свой любимый язык и среда разработки
5. руководство программиста iconРуководство по изучению дисциплины «Операционные системы, среды и оболочки»
Руководство необходимо для общего ознакомления с дисциплиной и содержит сведения
5. руководство программиста icon7. Руководство практикой, обязанности руководителей практики
Настоящее «Руководство по качеству» не может быть полностью или частично воспроизведено, тиражировано и распространено без разрешения...
5. руководство программиста iconРуководство к выполнению курсовой работы по дисциплине «Управление качеством»
Руководство предназначено для студентов специальности 080401. 65 «Товароведение и экспертиза товаров (по областям применения)» всех...
5. руководство программиста iconРуководство по изучению дисциплины «Экономика» для студентов специальности 080801(351400)
Руководство необходимо для общего ознакомления с дисциплиной и содержит сведения
5. руководство программиста iconМетодическое руководство
Руководство предназначено для разработчиков электронных обучающих материалов и электронных учебных курсов, отвечающих требованиям...
5. руководство программиста iconРуководство к выполнению курсовой работы по дисциплине «Рынок товаров и услуг»
Руководство предназначено для студентов специальности 080401. 65 «Товароведение и экспертиза товаров (по областям применения)» всех...
5. руководство программиста iconРуководство Руководство выпускниками, выбравшими форму экзамена «защита реферата»
Положением о государственной (итоговой) аттестации выпускников 9 классов общеобразовательных учреждений Российской Федерации, Уставом...
5. руководство программиста iconРуководство проведением Акции
Общее руководство подготовкой и проведением областного этапа осуществляет региональный оргкомитет, созданный при Г(О)боу дод детском...
5. руководство программиста iconРуководство для подачи заявок в фонд по решению гражданских вопросов (cfcs) – раунд 4
...
5. руководство программиста iconСистемной Энциклопедии" Руководство пользователя "
Руководство пользователя "СЭ" по поиску статей в Энциклопедии, их просмотру, частичному выводу на печать и т д
5. руководство программиста iconСценическое электрофортепиано
Комбинация электрофортепиано и синтезатора создаёт исполнителю все условия для творчества. Перед использованием пианино рекомендуем...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск