Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Информационно-дидактический блок (аннотация, пособия)

B110200 «Общественное здравоохранение»

B110400 «Медико-профилактическое дело»

B130100 «Общая медицина»

B130200 «Стоматология»

 

Предмет Информатика

 

Курс 1

 

ИНФОРМАЦИОННО –ДИДАКТИЧЕСКИЙ БЛОК

И МЕТОДИЧЕСКИЕ УКАЗАНИЯ

ДЛЯ СТУДЕНТОВ

К ПРАКТИЧЕСКМУ ЗАНЯТИЮ

Тема №

“ Библиотека (модуль) GRT, GRAPH в Turbo Pascal.”

 

Составитель

старший преподаватель Буланова Р.К.

 

Семей, 2011 г.

Информационно-дидактический блок и методические указания для студентов к практическому занятию на тему «Библиотека (модуль) GRT, GRAPH в Turbo Pascal.»

 

обсуждена на заседании кафедры (курса) от 2011 года

Протокол №

 

Ответственный по курсу Буланова Р.К.

 

1. Тема: Библиотека (модуль) GRT, GRAPH в Turbo Pascal.

2. Количество учебных часов: 3 академических часа (150 минут).

3. Актуальность темы (мотивация):

4. Цель занятия: Научить управлять графическими режимами различных мониторов - CGA, EGA, VGA. SVGA, разъяснить библиотеку содержания графических процедур и функций, как базовых (рисование точек, линий, окружностей и г,п). так и расширяющих возможностей базовых (многоугольники, закрашивание фигур, вывод текста и др.)

5. Задачи обучения:

6. Студент должен знать:

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

7. Студент должен уметь:

Запускать графические системы,подключать модуль GRAPH, инициировать графический режим, писать программы на языке Pascal с использованием графических возможностей компьютера

8. Вопросы самопроверки:

а) по базисным знаниям:

б) по теме занятия:

Графический режим. Инициализация графического режима. Построение точки, линии.

Инициализация графики, подготовительные работы, управление цветом, закрытие режима

Построение дуги, окружности, прямоугольника, эллипса.

Вывод текста.

Процедуры рисования закрашенных фигур.

1.Где находятся стандартные графические функции и процедуры? Что нужно сделать, чтобы ими воспользоваться?

2.Какие известные Вам текстовые процедуры можно использовать в графическом режиме, а какие - нельзя?

3.Назовите процедуры очистки экрана в текстовом и графическом режиме. 4.Существует ли в графическом режиме курсор? Если существует, есть ли у него название? 5.С помощью какой процедуры можно рисовать? Какие параметры и в каком порядке нужно задать, чтобы нарисовать окружность?

6.Какие параметры и в каком порядке нужно задать, чтобы нарисовать эллипс? 7. Какие есть графические процедуры вывода текста на экран? Как можно изменить шрифт букв? Какие еще есть процедуры, управляющие выводом текста? Для чего они нужны? 8.Какие параметры и в каком порядке нужно задать, чтобы нарисовать прямоугольник?

9. Как произвести заливку замкнутого контура выбранным типом и цветом палитры?

10. Назовите процедуры рисования закрашенных фигур.

Литература

В.В.Фаронов Turbo Pasсal.7.0. Практика программирования..изд. «Нолидж»,1999. Москва.

С.Немюгин,Л.Перколаб. Изучаем Turbo Pasсal. Изд.«Питер Принт»,2002.Санкт-Петербург.

Ж.А.Аитов, М.Б.Мақамбаев. Программалау тілі Паскаль. Изд.«Алматы».1998.

Ж.С.Каженова Ж.С.. Программалау. Изд.«Интелект».2009.Семей.

 

Информационно-дидактический блок (аннотация, пособия)

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

Драйвер - это специальная программа, которая управляет техническими средствами компьютера.

Для всех существующих типов адаптеров фирма Borland разработала графические драйверы (они имеют расширение.bgi и находятся на диске в одноименном подкаталоге).

Необходимые процедуры и функции для работы с графикой собраны стандартном модуле - Graph. Инициализация графики производится с помощью процедуры InitGraph, которая имеет вид:

InitGraph(GraphDriver, GraphMode, Path);где переменные GraphDriver и GraphMode имеют тип Integer, а переменная Path имеет тип String.То, что записано в скобках, называется параметрами вызова.GraphDriver - целая переменная, определяющая тип драйвера. Процедура загружает драйвер в оперативную память и переводит адаптер в графический режим работы. Тип драйвера должен соответствовать типу графического адаптера. Для указания типа драйвера в модуле предопределены следующие константы:

CGA EGA EGAMono HercMono VGA
MCGA EGA64 IBM8514 ATT400 PC3270

Detect = 0;Целая переменная GraphMode задает режим работы графического адаптера. Многие адаптеры могут работать в нескольких режимах. Например, переменная GraphMode в момент обращения к InitGraph может иметь одно из следующих значений для адаптера VGA: VGALo = 0; VGAMed = 1; VGAHi = 2;

теперь представьте такой вариант: Вам нужно написать программу на языке Pascal с использованием графических возможностей компьютера. Хорошо, если это - программа для компьютера с известным адаптером. А если нет, как действовать в этом случае? Выход один. Если нам неизвестен тип адаптера или программа должна работать с любым адаптером, необходимо обращаться к InitGraph с запросом на автоматическое определение драйвера.

Это происходит следующим образом: переменной GraphDriver присваиваем значение detect. В этом случае компьютер сам определит необходимый драйвер и подберет наилучший режим.

Program Primer1; Uses Graph;{Подключение модуля библиотеки графических процедур} Var GraphDriver, GraphMode: integer; Begin GraphDriver:= detect; {автоопределение типа драйвера } InitGraph(GraphDriver, GraphMode, Path); {Инициализация графического режима}......... СloseGraph;{Закрытие графического режима} End.

Для получения графического изображения нужно заставить светиться заданным цветом определенную группу пикселей (точек). Это можно делать в программе, но ваша работа тогда станет очень трудоёмкой. Чтобы облегчить труд программиста существует модуль Graph, в котором содержится 79 полезных процедур и функций, десятки стандартных констант и типов данных (например, процедуры рисования линии, окружности и др.). Чтобы воспользоваться этим модулем нужно сначала его подключить. Для этого в программе записывают строчку: Uses Graph. Условно весь модуль Graph можно подразделить на несколько функциональных групп по выполняемым действиям. Рассмотрим эти группы (внутри групп взяты основные функции, необходимые нам для первоначального ознакомления с графикой):

 

1) Инициализация графики, подготовительные работы, управление цветом, закрытие режима:

InitGraph установление (инициализация) графического режима работы
CloseGraph завершение работы с графикой
DetectGraph определение драйвера
FloodFill заливка замкнутого контура выбранным типом и цветом палитры
RestoreCRTMode возврат в текстовый режим
SetBkColor выбор и установка нового цвета закраски фона
SetColor выбор и установка нового текущего цвета
SetFillStyle выбор и установка нового шаблона и цвета заполнения

2) Процедуры и функции для управления курсором и видеостраницами:

ClearDevice очистка текущего устройства вывода
ClearViewPort очистка текущего окна
GetMaxX получение максимально доступной координаты по оси X
GetMaxY получение максимально доступной координаты по оси Y
GetPixel получение текущего цвета точки экрана
GetX получить значение координаты X
GetY получить значение координаты Y
MoveRel переместить курсор из данной текущей точки на заданное приращение.
MoveTo переместить курсор из данной текущей точки в заданную точку

3). Процедуры и функции для работы с "графическими примитивами":

Arc Рисует дугу
Bar Рисует полосу
Bar3D Рисует трехмерную полосу
Circle Рисует окружность
DrawPoly Рисует многоугольник
Ellipse Рисует эллиптическую дугу или эллипс
FillEllipse Рисует заполненный эллипс
FillPoly Заполняет многоугольник
Line, LineRel, LineTo Рисует линию
Rectangle Рисует прямоугольник
Sector Рисует сектор эллипса
PutPixel Рисует точку

4) Процедуры для работы с текстом

 

OutText Вывод текста
OutTextXY Вывод текста

 

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

1. Подключить модуль GRAPH - библиотеку графических процедур:Uses Graph;

2. Установить графический режим с помощью двух переменных:

Var GraphDriver, GraphMode: integer; Begin GraphDriver:=detect; InitGraph(GraphDriver, GraphMode, '..BGI'); {С этого момента все графические средства доступны пользователю} { тело программы } CloseGraph; End.

Система координат в графическом режиме.

Любая информация при работе в графическом режиме на экране монитора представлена совокупностью светящихся точек - пикселей, которые определяются цветом и координатами - положением относительно левого верхнего угла экрана с координатами (0,0).Дисплей может работать в нескольких графических режимах, каждому из которых соответствует свой формат изображения, т. е. разрешающая способность (количество пикселей по горизонтали и вертикали) экрана и набор используемых цветов. Чтобы узнать максимальные координаты экрана в текущем режиме работы, воспользуемся стандартными функциями GetMaxX и GetMaxY. Для этого наберите небольшую программу:

Uses Graph; Var GraphDriver, GraphMode: integer; Begin GraphDriver:=detect; InitGraph(GraphDriver, GraphMode, ‘..BGI’); Writeln(GetMaxX, 'x', GetMaxY); Readln; CloseGraph; End.

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

В окне EXE&TPU directory набрать..BGI

Клавишей TAB перейти к окну Unit directories и набрать..BGI

Клавишей TAB перейти к ОК и нажать Enter.

Примечание. Для нашего графического режима обычно значение максимальной координаты X равно 640 пикселям, а Y- 480 пикселям. Чтобы точно строить изображение на экране, Вам нужно сначала нарисовать, как это должно выглядеть на бумаге. Для этого начертите в тетради систему координат графического режима. Итак, отсчет начинается с верхнего левого угла с координатами (0;0), значение Х - столбец, отсчет слева направо; значение Y - строка, отсчет сверху вниз.Чтобы строить изображение, нужно указать точку начала вывода. В графическом режиме нет видимого курсора, но есть так называемый невидимый текущий указатель (Current Pointer). После инициализации графического режима указатель стоит в точке (0;0). Чтобы переместить его в нужное место используют следующие процедуры: MoveTo (X, Y), где переменные X, Y типа Integer - перемещает текущий указатель в точку с координатами (X,Y).Например, MoveTo (200, 100) MoveRel (dX, dY), где переменные dX, dY типа Integer - перемещает текущий указатель по горизонтали на расстояние, равное dX пикселям, а по вертикали на расстояние, равное dY пикселям. (Relation (англ.) - относительно). Например, если после выполнения предыдущей процедуры текущий указатель находится в точке (200, 100), то после выполнения процедуры MoveRel (25, 150) он будет находится в точке с координатами (225, 250). PutPixel(X, Y, Color), где переменные X, Y типа Integer, а Color типа Word - процедура выводит точку заданного цвета Color в точку с координатами (X, Y). Задание. Наберите в теле программы следующие процедуры PutPixel(300, 150, Red), PutPixel(45, 420, 9) и просмотрите их действие. Для задания цвета точки можно использовать как слово на английском языке, так и цифру из следующей таблицы:

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

пременные X1, Y1, X2, Y2 типа Integer - рисуется линия от точки (X1, Y1) до точки (X2, Y2). LineTo (X, Y), где переменные X, Y типа Integer - рисуется линия из точки, где находится в данный момент курсор в точку (X, Y).

LineRel (dX,dY), где переменные dX, dY типа Integer - рисуется линия из точки, где находится в данный момент курсор (X, Y) в точку (X+dX,Y+dY).

Задание. Придумайте самостоятельно примеры с использованием всех процедур вычерчивания линий. У Вас не получается нарисовать линии? В чем же причина? Если внимательно посмотреть на эти процедуры и сравнить их с процедурой PutPixel, то можно заметить, что в них нет параметра, указывающего цвет рисования линии. В этом и других аналогичных случаях цвет задается специальной процедурой. SetColor (Color), где переменная Color типа Word - устанавливает текущий цвет для выводимых линий и символов.

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

OutText('текст'), где переменная 'текст' типа String - выводит текстовую строку, начиная с текущего положения указателя. При горизонтальном направлении вывода указатель смещается в конец выведенного текста, при вертикальном - не меняет своего положения. Строка выводится в соответствии с установленным стилем и выравниванием. Примечание. Если текст выходит за границы экрана, то при использовании штриховых шрифтов он отсекается, а в случае стандартного шрифта не выводится.OutTextXY(X, Y, 'текст'), где переменные X, Y типа Integer, а 'текст' типа String - выводит строку 'текст', начиная с точки с координатами X, Y. Указатель не меняет своего положения. Например, после применения процедуры OutTextXY(100, 50, 'Grafika in Turbo Pascal') на экране будет высвечена строка Grafika in Turbo Pascal, начиная с точки с координатами (100,50). SetTextStyle(Font; Direct; Size), где переменные Font и Direct типа word, а Size типа Integer - устанавливает стиль текстового вывода на графический экран. Здесь переменная Font указывает на код (номер) шрифта, Direct - код направления, а Size - код размера шрифта. Для указания кода шрифта можно использовать следующие константы:

Номер Описание
  точечный шрифт 8х8
  утроенный шрифт
  уменьшенный шрифт
  прямой шрифт
  готический шрифт
  “рукописный” шрифт
  одноштриховый шрифт типа Courier
  красивый наклонный шрифт типа Times Italic
  шрифт типа Times Roman
  шрифт типа Courier увеличенного размера
  крупный двухштриховый шрифт

Cреди этих шрифтов только DefaultFont (код 0) является матричным шрифтом, т.е. его символы создаются из матриц 8х8 пикселей. Все остальные шрифты - векторные, их элементы формируются как совокупность векторов определенного направления и размера.

Задания: 1.Исправьте свою программу так, чтобы процедуры рисовали линии различных цветов. 2. В начерченной ранее системе координат изобразите на чертеже точки: А(150,450), В(100,350), С(350,350), D(300,450), E(200,350), F(200,50), L(250,40), K(200,20), M(300,250), X(175,400), Y(225,400), Z(275,400).

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...