МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Реферат: Обучающая программа Графика программированию в графическом режиме на языке turbo-pascal 7.x

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

          Имеется ряд операторов для получения справок о текущем

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

    *     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 от левого верхнего угла окна.

       *

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

       *

       4Ответ не точный.На экране появятся затененные контуры нижнего парал-003

        лелепипеда.

       *

    *

     031Ответ не точный.Процедуры SetViewPort и ClearViewPort в данном слу- 003

        чае излишние,т.к.уже процедура Bar рисует прямоугольную область,

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

       *

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

       *

       3Процедура Bar3D рисует аксонометрию прямоугольного параллелепипеда,а002

        не прямоугольную область.

       *

       4Процедура Bar3D рисует аксонометрию прямоугольного параллелепипеда,а002

        не прямоугольную область.

       *

    *

     041Ответ неверный. Процедура Bar3D рисует контуры аксонометрии закра-  002

        шенного по фасаду параллелепипеда. Боковая и верхняя грани не закра-

        шиваются, т.о. затемненная часть верхней грани нижнего параллелепи-

        педа не исчезнет.

       *

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

       *

       3Ответ неверный. Параметр Top процедуры Bar3D регулирует наличие или 002

        отсутствие верхней (а не нижней) левой грани аксонометрии.

       *

       4Ответ неверный. Достаточно установить параметр Top=False процедуры  002

        Bar3D. Дополниетльные меры излишне.

       *

    *

     051Ответ неверный. Процедура DrawPoly построит звезду с одной невидимой002

        гранью. Цвет фигуры будет соответствовать цвету фона.

       *

       2Ответ неверный. Цвет фигуры будет соответствовать цвету фона и будет002

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

       *

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

       *

       4Ответ правильный. Однако, закраска белым цветом возможна и          004

        по умолчанию.

       *

    *

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

       *

       2Ответ неверный. Функция GetModeName возвращает строковое название   002

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

       *

       3Ответ неверный.Функция GetMaxMode возвращает максимальный номер     002

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

       *

       4Ответ неверный. Процедура GetModeRange выдает справку о диапазоне   002

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

       *

    *

     071Ответ неверный. Такая возможность существует.                       002

       *

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

       *

       3Ответ неверный. Данные процедуры возвращают максимально возможные   002

        для текущего драйвера и режима графические позиции курсора.

       *

       4Ответ неверный. Процедура MoveRel смещает курсор относительно его   002

        текущей позиции.

       *

    *

    1081Ответ неверный. Рисунок будет иметь следующий вид:                  002

       *

    2  2Ответ неверный.Рисунок будет иметь следующий вид:                   002

       *

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

       *

    3  4Ответ неверный. рисунок будет иметь следующий вид:                  002

       *

    *

     091Ответ неверный.                                                     002

       *

       2Ответ неверный.                                                     002

       *

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

       *

       4Ответ неверный.                                                     002

       *

    *

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

       *

       2Ответ неверный.                                                     002

       *

       3Ответ неверный.                                                     002

       *

       4Ответ неверный.                                                     002

       *

    *

    0

    УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЙ

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

     палитрой и стилем рисования.

    *     procedure GetPalette(var PaletteType);

          Возвращает текущую плитру и количество цветов в ней. Применя-

     ется только в графическом режиме и только с драйверами  EGA, EGA 64

     и VGA.

    *     procedure SetAllPalette(var Palette);

          Меняет все цвета палитры на заданные. Переменная без типа

     Palette в первом байте содержит число N- количество цветов в палитре

     а в последующих N байах - коды задаваемых цветов. Если задана вели-

     чина -1, то исходный цвет остается без изменений.

    *      procedure SetPalette(NumberColor:word;Color:byte);

           Изменяет один из цветов палитры. NumberColor - порядковый

     номер изменяемого цвета. Color -код нового цвета.

    *       procedure SetColor(Color:word);

            Устанавливает текущий цвет рисования.Color - код цвета либо

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

                     УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЯ

    _____________________________________________________________________

        Имя       Значение   Назначение

     --------------------------------------------------------------------

     Black           0       черный

     Blue            1       синий

     Green           2       зеленый

     Cyan            3       голубой

     Red             4       красный

     Magenta         5       фиолетовый

     Brown           6       коричневый

     LightGray       7       светло-серый

     DarkGray        8       темно-серый

     LightBlue       9       светло-синий

     LightGreen     10       светло-зеленый

     LightCyan      11       светло-голубой

     LightRed       12       розовый

     LightMagenta   13       светло-фиолетовый

     Yellow         14       желтый

    1White          15       белый

                   УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЯ

    *      procedure SetBKColor(Color:word);

          Устанавливает цвет фона рисования. Color - код или имя цвета.

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

     фоном рисования, используются функции:

                                           function GetColor:word;

                                           function GetBKColor:word;

          Факторами, определяющими стиль рисования, являются толщина и

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

     и линий закраски замкнутых фрагментов рисунков.

    *     procedure SetLineStyle(LineStyle:word; Pattern:word;

    *                            Thiekness:word);

          Устанавливает стиль контурных линий и их толщину. Параметр

    Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.