рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Стандартный модуль работы с графическим экраном Graph

Стандартный модуль работы с графическим экраном Graph - раздел Информатика, Информатика Лабораторный практикум По программированию На Турбо-Паскале 1) Назначение Модуля Подключаются Процедуры И Функции По Работе С Эк...

1) назначение модуля

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

  • подключить раздел графических подпрограмм Турбо-Паскаля, что выполняется в самом начале раздела описаний оператором USES Graph;
  • инициализировать графику в выполняемом блоке, для чего загрузить в память драйвер управления монитором в графическом режиме. Это делается процедурой InitGraph(...). Далее выполняется выбор цветов и характеристик графических примитивов (точек, линий, стандартных фигур и полигонов, символов текста) и изображаются нужные объекты, с помощью стандартных процедур и функций. По окончании работы графический режим монитора выключается (закрытием графики процедурой CloseGraph).

2) координаты экрана

Определяются возможностями видеосистемы ПЭВМ. Обычно стараются использовать наилучший возможный режим экрана

{ *** функции, связанные с координатами *** }

function GetX : integer; – получить текущую координату X;

function GetY : integer; – получить текущую координату Y;

function GetMaxX : integer; – получить максимально возможную координату экрана по X;

function GetMaxY : integer; – получить максимально возможную координату экрана по Y;

3) управление графическим режимом

{ *** определение, инициализация и восстановление текстового режима *** }

procedure DetectGraph (var GraphDriver, GraphMode : integer); – получение возможного типа драйвера и графического режима по установленным аппаратным средствам;

procedure InitGraph (var GraphDriver : integer;

var GraphMode : integer;

PathToDriver : String); – инициализировать графический режим экрана;

function GetMaxMode : integer; – получение наилучшего графического режима для данной ПЭВМ;

procedure SetGraphMode (Mode : integer); – задание графического режима;

function GetGraphMode : integer;– получение текущего графического режима;

procedure GraphDefaults; – установление графических параметров по-умолчанию (стандартных)

procedure RestoreCrtMode; – возвращение экрана в состояние, которое было до установления графики

procedure CloseGraph; – закрытие графического режима.

 

{ Коды завершений графических операций: }

grOk = 0; – без ошибок.

grNoInitGraph = -1; – не загружен драйвер графического режима.

grNotDetected = -2; – не определен тип видеокарты.

grFileNotFound = -3; – не найден файл с драйвером.

grInvalidDriver = -4; – ошибка работы драйвера.

grNoLoadMem = -5; – не хватает места в ОП для загрузки драйвера.

grNoScanMem = -6; – выход за пределы памяти при сканирующем заполнении

grNoFloodMem = -7; – выход за пределы памяти при заливке.

grFontNotFound = -8; – не найден заказанный шрифт.

grNoFontMem = -9; – не хватает места в ОП для загрузки шрифта.

grInvalidMode = -10; – неверный режим графики.

grError = -11; – ошибка графической операции.

grIOerror = -12; – ошибка графического ввода/вывода

grInvalidFont = -13; – ошибка в файле шрифта.

grInvalidFontNum = -14; – недопустимый номер шрифта.

 

{ *** Функции, возвращающие сведения об ошибках *** }

function GraphErrorMsg (ErrorCode : integer) : String; – название ошибки по коду;

function GraphResult : integer; – код ошибки последней графической операции.

 

4) управление экраном и окном

{ *** экран, окна, сохранение и восстановление окон *** }

procedure ClearDevice; – очиска грфического экрана цветом фона. Текущий указатель в левом верхнем углу;

procedure SetViewPort (x1, y1, x2, y2 : integer; Clip : boolean); – задание границ окна и типа отсечения;

procedure GetViewSettings (var ViewPort : ViewPortType); – получить характеристики окна;

procedure ClearViewPort; – очистить окно цветом фона;

procedure SetVisualPage (Page : word); – задает номер отображаемой графической страницы;

procedure SetActivePage (Page : word); – устанавливает для графического вывода активную страницу.

 

{ *** сохранение/восстановление части экрана *** }

function ImageSize (x1, y1, x2, y2 : integer) : word; – определить размер ОП для прямоугольника;

procedure GetImage (x1, y1, x2, y2 : integer; var BitMap); – сохранить в ОП образ прямоугольника;

procedure PutImage (X, Y : integer; var BitMap; BitBlt : word); – восстановить прямоугольник из ОП.

 

5) управление цветом

{ константы изображения цветов: }

 

Таблица 27. Кодировка цветов

Код Имя константы Цвет
Black Черный (прозрачный)
Blue синий
Green зеленый
Cyan голубой
Red красный
Magenta фиолетовый
Brown коричневый
LightGray светло-серый
DarkGray темно-серый
LightBlue светло-голубой
LightGreen светло-зеленый
LightCyan светло-синий
LightRed светло-красный
LightMagenta светло-фиолетовый (розовый)
Yellow светло-коричневый(желтый)
White белый

 

{ *** процедуры работы с цветом *** }

procedure SetBkColor (ColorNum : word); – установить цвет фона;

procedure SetColor(Color : word); – установить цвет рисования

function GetBkColor : word; – получить цвет фона;

function GetColor : word; – получить текущий цвет рисования;

function GetMaxColor : word; – получить максимально-возможное число цветов.

 

6) вывод точек

{ *** процедуры работы с точкой *** }

procedure PutPixel (X, Y : integer; Pixel : word); – поставить на экране точку (X,Y) заданным цветом (pixel);

function GetPixel (X, Y : integer) : word; – получить цвет точки с координатами (Х,Y).

 

7) вывод линий

{ типы и толщины линий для процедур Get/SetLineStyle: }

SolidLn = 0; { сплошная };

DottedLn = 1; { пунктирная };

CenterLn = 2; { штрих-пунктирная (осевая) };

DashedLn = 3; { штриховая };

UserBitLn = 4; { задаваемая пользователем };

NormWidth = 1; { нормальная (тонкая) } ;

ThickWidth = 3; { толстая }.

 

{ *** процедуры перемещений и проведения отрезков линий *** }

procedure LineTo (X, Y : integer); – линия из текущей точки в (X, Y);

procedure LineRel (Dx, Dy : integer); – линия из текущей точки в точку, смещенную на (Dx, Dy);

procedure MoveTo (X, Y : integer); – переход в точку (X, Y);

procedure MoveRel (Dx, Dy : integer); – переход из текущей точки в точку, смещенную на (Dx,Dy);

procedure Line (x1, y1, x2, y2 : integer); – линия из точки (x1,y1) в точку (x2,y2);

procedure GetLineSettings (var LineInfo : LineSettingsType); – получить текущие настройки рисования линий;

procedure SetLineStyle (LineStyle : word;

Pattern : word;

Thickness : word); – задать текущие настройки рисования линий.

 

8) вывод и закраска контуров

{ *** многоугольники, их закраска и текстуры *** }

procedure Rectangle (x1, y1, x2, y2 : integer); – построить незакрашенный прямоугольник;

procedure Bar (x1, y1, x2, y2 : integer); – построить закрашенный прямоугольник;

procedure Bar3D (x1, y1, x2, y2 : integer; Depth : word; Top : boolean); – построить паралелепипед;

procedure DrawPoly (NumPoints : word; var PolyPoints); – построить контур многоугольника из NumPoints точек;

procedure FillPoly (NumPoints : word; var PolyPoints); – построить закрашенный многоугольник из NumPoints точек;

procedure GetFillSettings (var FillInfo : FillSettingsType); – получить текущие характеристики закраски;

procedure GetFillPattern (var FillPattern : FillPatternType); – получить текущие характеристики текстуры;

procedure SetFillStyle (Pattern : word; Color : word); – задать характеристики закраски;

procedure SetFillPattern (Pattern : FillPatternType; Color : word);– задать характеристики текстуры;

procedure FloodFill (X, Y : integer; Border : word); – залить область текущей закраской от заданной точки (X,Y) до границы, заданной цветом (Border).

 

9) окружности, эллипсы, дуги

{ *** построение окружностей, эллипсов и их частей *** }

procedure Arc (X, Y : integer; StAngle, EndAngle, Radius : word); – построение дуги окружности;

procedure GetArcCoords (var ArcCoords : ArcCoordsType); – получение параметров дуги окружности;

procedure Circle (X, Y : integer; Radius : word); – построение окружности заданного радиуса и центра;

procedure Ellipse (X, Y : integer;

StAngle, EndAngle : word;

XRadius, YRadius : word); – построение дуги эллипса;

procedure FillEllipse (X, Y : integer;

XRadius, YRadius : word); – построение закрашенного эллипса.

 

procedure GetAspectRatio (var Xasp, Yasp : word); – получение относительного разрешения по X и Y;

procedure SetAspectRatio (Xasp, Yasp : word); – задание относительного разрешения по X и Y;

procedure PieSlice (X, Y : integer; StAngle, EndAngle, Radius : word); – построение закрашенного сектора круга;

procedure Sector (X, Y : Integer;

StAngle, EndAngle,

XRadius, YRadius : word); – построение закрашенного сектора эллипса.

 

10) вывод текста

{ константы для процедур Set/GetTextStyle }

DefaultFont = 0; { шрифт по-умолчанию };

TriplexFont = 1; { "оттененный" шрифт };

SmallFont = 2; { мелкий шрифт };

SansSerifFont = 3; { шрифт "сан-сериф"};

GothicFont = 4; { готический шрифт };

HorizDir = 0; { текст слева–направо };

VertDir = 1; { текст снизу–вверх };

 

{ размещение текста относительно заданной точки }

LeftText = 0; { текст влево от точки };

CenterText = 1; { точка в центре текста };

RightText = 2; { текст вправо от точки };

BottomText = 0; { текст под точкой };

 

{ CenterText = 1; уже определено выше }

TopText = 2; { текст над точкой };

UserCharSize = 0; { размер шрифта задается программистом }.

 

{ признаки отсечения фигур при выходе за пределы окна }

ClipOn = true; – за границами окна фигура не видна;

ClipOff = false; – за границами окна фигура видна;

 

{ *** процедуры вывода текста *** }

procedure GetTextSettings (var TextInfo : TextSettingsType); – получить текущие настройки вывода текста;

procedure OutText (TextString : string); – вывести текст относительно текущей точки;

procedure OutTextXY (X, Y : integer; TextString : string); – вывести текст относительно точки (X,Y);

procedure SetTextJustify (Horiz, Vert : word); – установить параметры центровки (размещения) текста;

procedure SetTextStyle (Font, Direction : word; CharSize : word); – выбрать шрифт, его размер и направление вывода текста;

procedure SetUserCharSize (MultX, DivX, MultY, DivY : word); – задать размер шрифта программиста;

function TextHeight (TextString : string) : word; – получить текущую высоту строки текста;

function TextWidth (TextString : string) : word; – получить текущую ширину строки текста.

– Конец работы –

Эта тема принадлежит разделу:

Информатика Лабораторный практикум По программированию На Турбо-Паскале

РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ГИДРОМЕТЕОРОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ... В А БОЛЬШАКОВ Г И ВОРОНОВ Л А САВВАТЕЕВА...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Стандартный модуль работы с графическим экраном Graph

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

На Турбо-Паскале
    Санкт-Петербург УДК 681.3.06

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

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

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

Общие пояснения
    1.Алгори

Формирование таблицы идентификаторов
В задании упоминаются: двумерный массив вещественного типа, количество строк (М<=7), количество столбцов (N<=7), входной текстовый файл, номер столбца с мини

Алгоритм
Должен содержать следующие шаги: Открытие входного и выходного файлов. Текстовый входной файл связывается с набором данных с вещественными числами 'D:LAB1DATF.TXT' и

Текст программы.
PROGRAM SortNum; { Программа Лабораторной работы N 5 Вариант N 31. А.Я.Умненькая, ст. гр. Я-007 } VAR M,N,Jmin,i,j,i1,ki : integer; Amin,Pr : r

Содержимое файла результатов UMNIK5.RES
  Исходный массив из 7x7 элементов -2.20 -6.93 0.20 8.97 8.09 5.38 7.82 5.43 15.33 13.60 9.32 17.38 17.70 16.26 13.13 13.78 20.59 17.91 15.16 19.02 21.66

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

Требования к программе
Программа должна содержать комментарий с указанием названия работы, № варианта, фамилии студента и № группы. Значения, отмеченные в таблице вариантов символом "*" в програм

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

Рассмотрение метода решения
Расчет суммы будем проводить по рекуррентной формуле: S=S+C, т.е. новое значение суммы S есть старое значение суммы S + очередное слагаемое

Алгоритм
Должен содержать следующие шаги: 1. Задание исходных данных в разделе констант (для A и B); 2. Ввод исходных данных (Dx и

Текст программы.
  program Tabl_Of_Fx; { Программа Лабораторной работы N 6 Вариант N 31. Использование рекуррентных формул в итеративных циклах. А.Я.Умненькая, ст.

Результаты расчета
Файл UMNIK6.RES будет в этом случае содержать: Исходные данные Интервал X: [-0.05 0.04], Шаг X:0.010, шагов: 9, точность: 1.0E-0006 Результаты р

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

Механизм параметров
В список параметров включаются исходные данные для работы процедуры/функции (входные параметры) и, если надо, указания, куда поместить результаты работы процедуры (выходные параметры). Сущ

Текст программы.
  PROGRAM KorrMas; { Лабораторная работа N 7 Вариант N 31 Обработка массива А.Я.Умненькая, ст. гр. Я-007 } TYPE Massiv = array[1..13,1..10

Вопросы, изучаемые в работе
Изучение строения и использование процедур, функций, раздела Graph, используемого при выводе на экран информации в графической форме. Работа с цветом. Прое

Графический режим экрана
Чтобы использовать графику в программах на Турбо-Паскале необходимо научиться планировать размещение на экране выводимой информации (т.е. разобраться в алгоритме вывода графических объектов на экра

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

Алгоритм
1.Задание констант, стандартных значений; 2.Ввод исходных данных; 3.Печать исходных данных; 4.Расчет характеристик функций; 5.Открытие графики с проверкой правил

Текст программы
Program Graph_work; { Программа Лабораторной работы N 8. Вариант N 31. Построение графика функции. А.Я.Умненькая, ст. гр. Я-007 } Uses Graph,Crt,Print;

Вопросы, изучаемые в работе
Разработка программы с динамическим выделением памяти. Работа с переменными комбинированного типа - записями. Работа с переменными ссылочного типа - указателями. Пр

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

Общие пояснения
Переменные, которые описываются в разделе описаний (VAR), называются статическими. Память для них выделяется перед началом выполнения программы, и во время выполнения программы не

Односвязные списки
Пример организации односвязного списка приведен ниже. Type Z=Record {комбинированный тип для данных} a: String; {строковое поле} b, c: Integer; {поле целых чисел

Двусвязные списки
В двусвязных списках базовый комбинированный тип S для указателей типа P будет иметь два адресных поля: поле ls ссылки на следующую запись списка

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

Описание файлов с данными
В данной работе предлагается использовать два типа файлов с исходными данными. Оба файла содержат одну и ту же информацию, но хранят ее в разной форме. Файл с именем Dan.dat предст

Алгоритм
Укрупненные шаги алгоритма основной программы приведены под заголовком "содержание программы" (при оформлении отчета, алгоритмы следует включить в блок-схему программы). Рассмотрим строен

Текст программы
Program Lab_9; { Программа Лабораторной работы N 9 Динамические переменные. Списки. Вариант N 31. А.Я.Умненькая, ст. гр. Я-007} TYPE data = record {опис

Главное меню
При входе в интегрированную среду системы программирования Турбо-Паскаль (для этого достаточно вызвать модуль turbo.exe), сразу становится доступным главное меню, которое расположено в самой верхне

Команды опции File.
Open: выбор и открытие файла с исходным текстом для редактирования. После активизации опции Open на экране появляется диалоговое окно, в котором находится список файлов те

Команды опции Edit.
Команды этого режима предназначены для различных операций с редактируемыми текстами – выделение фрагментов текста, удаления, копирования и перемещения их в любое нужное место. Выделение фрагментов

Команды опции Search.
Команды этого режима предназначены для поиска любой последовательности символов в редактируемых текстах. Find – (поиск) – при выборе этой опции на экране появляется диалог

Команды опции Run.
Команды опции Run позволяют проводить компиляцию, компоновку и выполнение программы, а также осуществлять прогоны программы в различных отладочных режимах. Run – ко

Команды опции Compile.
Выполняют компиляцию и компоновку Вашей программы, сформируют загрузочные файлы, а в случае необходимости сохраняют их на диске. Compile –компиляция программы или модуля,

Команды опции Debug.
В режиме Debug можно пользоваться большими возможностями отладчика, встроенного в среду программирования Турбо-Паскаль 6.0. К ним в первую очередь относятся средства работы с окнами наблюден

Команды опции Options.
Меню Options предназначено для управления режимами компиляции и компоновки программ, написанных на Турбо-Паскале, для определения параметров интегрированной среды и, в частности, встроенного

Команды опции Window.
Это команды управления окнами. В системе программирования Турбо-Паскаль 6.0 могут быть открыты окна редактирования, наблюдений, вывода, помощи и браузера. Каждое из них может быть развернуто

Команды опции Help.
Служат для получения справочной информации по любым аспектам языка Турбо-Паскаль и его интегрированной среды. Эта информация, хранящаяся в файле TURBO.HLP, открывается в специальном окне, которое н

Меню окна редактирования
В состав этого меню входят четыре опции меню Edit – Cut, Copy, Paste и Clear; опция меню Help –Topic search; опция меню Run

Меню окна наблюдений
В состав этого меню входят шесть опций: Add, Modify, Remove, Clear all, Enable и Disable. Add служит для добавления выражения в окно наблюдений. Любое выражение, пр

Основные команды встроенного редактора текста
Таблица 35. Список горячих клавиш Горячая клавиша Функция Опция меню F1 Открытие окна с подсказками

Сообщения об ошибках на шаге выполнения
Сообщения об ошибках на шаге выполнения имеют следующий формат: Run-time error < номер > at < сегмент >:< смещенне >, где < номер > – номе

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги