Рефераты. Обучающая программа Графика программированию в графическом режиме на языке turbo-pascal 7.x p> Модуль Graph содержит типы, константы, переменные и подпрограммы, позволяющие программисту создавать изображения с использованием широкого набора графических адаптеров(CGA, MCGA, EGA, VGA, Hercules, AT&T400,
3270PC,IBM8514). При работе с этими адаптерами весь экран разбивается на отдельные "точки" - пиксели, которые можно закрасить в тот или иной цвет.
Каждый пиксель имеет две координаты: X и Y. Количество пикселей зависит от типа адаптера и режима его работы. Данная программа написана для адаптера
EGA и режима EGAHi с размером поля 640x350, палитрой состоящей из 16 цветов и двумя страницами видеопамяти. Данный режим позволяет выделять окна на экране дисплея. В этом случае используются координаты в пределах окна.
Курсор в графическом режиме невидим, однако его можно переместить в любую точку экрана, посмотреть его координаты.

Модуль Graph содержит 8 стандартных типов, описывающих цвета палитры, характеристики линий, характеристики текста, орнамент и цвет заполнения, задаваемый пользователем орнамент заполнения, координаты точки, окно вывода графической информации, данные о дуге. Константы и переменные указанных типов приведены в таблицах в [5].

Обучающая программа предлагает студентам ознакомиться с процедурами и функциями следующего назначения:

1) процедуры управления графическим режимом ;

2) функции управления графическим режимов;

3) процедуры управления экраном, окном, страницей;

4) процедуры управления цветом и палитрой;

5) функции управления цветом и палитрой;

6) функции работы с точками;

7) процедуры работы с линиями;

8) процедуры построения фигур из линий;

9) процедуры построения криволинейных фигур;

10) процедуры работы с текстом;

11) функции работы с текстом;

12) процедуры обмена с памятью;

13) функции обмена с памятью;

Подавляющее большинство процедур и функций модуля Graph можно использовать только после задания графического режима ^ процедурой
UnitGraph.

Модуль Crt содержит константы, переменные и подпрограммы, предназначенные для работы с консолью. В отличие от стандартного ввода- вывода, когда он осуществляется через операционную систему, подпрограммы модуля Crt работают с BIOS и, даже непосредственно с видеопамятью. При работе с экраном он разбивается на строки, а строки на отдельные позиции, в которые можно поместить только один символ. Есть возможность открывать окна, задавать цвета символов и фона. Обучающая программа знакомит студентов с частью процедур и функций данного модуля, а именно:

1) процедуры работы с экраном;

2) функции работы с клавиатурой;

3) процедуры управления звуком;

4) процедуры разнообразного назначения.

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

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

1 раздел - программирование графических режимов;

2 раздел - управление курсором и полем рисования ;

3 раздел - формирование прямолинейных монохромных изображений;

4 раздел - управление цветом и стилем изображений;

5 раздел - программирование цветных криволинейных изображений;

6 раздел - формирование графических текстов;

7 раздел - программирование озвученных динамических сцен ;

Изучая эти разделы студент последовательно узнает как задать графический режим, как узнать его параметры, изменить, временно выйти из режима, научиться управлять курсором и полем рисования, открывать окна, пользоваться цветовой палитрой и имеющимися в арсенале языка типами линий и стилей закраски. Полезным будет изучение разделов 5,6 , которые содержат информацию о возможностях построения криволинейных фигур, формирование графических текстов стандартных типов и ряда нестандартных. Наиболее сложным является последний раздел, посвященный озвученным динамическим сценам. В этом разделе студент знакомится с динамической памятью компьютера и страничной организацией видеобуфера. Это основные средства, с помощью которых стало возможным создание эффекта мультипликации на экране дисплея.
В этом же разделе представлен звукогенератор, позволяющий обеспечить звуковое сопровождение .

В меню программы перечисленные разделы следуют в порядке, указанном выше. Этот порядок следования разделов соответствует последовательному изучению материала от простого к сложному. Однако, система меню дает возможность студенту нарушить этот порядок и изучать разделы в порядке, удобном ему. При этом следует учесть, что каждый последующий раздел опирается на знание предыдущих, в контрольных вопросах следующих разделов содержатся вопросы, касающиеся предыдущих тем. Поэтому рекомендуется знакомиться первый раз с темой последовательно. Доступ к разделам 3,4,5,6,7 ограничен . Студенту предоставляются только две попытки ответить на контрольные вопросы. Рекомендуется после первого изучения и неудачного ответа во второй раз начать изучение с раздела, который показался наиболее простым и понятным.

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

2.2. Структура базы данных

База данных представляет собой набор 17 файлов типа запись Семь из них содержат теоретическую часть семи изучаемых разделов, пять - тексты контрольных вопросов к разделам 3,4,5,6,7 и пять -тексты справок к этим вопросам. Схема обращений процедур к файлам базы данных приведена в табл. 1

Таблица 1

Схема обращений процедур к файлам базы данных

|Номер |Имя модуля |Имя |Имена файлов базы данных |
|раздела | |процедуры | |
| | | |теория |вопросы |Справки |
|1 |Razdel1 |Razdel10 |Raztex1 |- |- |
|2 |Razdel2 |Razdel20 |Raztex2 |- |- |
|3 |Razdel3 |Razdel30 |Raztex3 |Joing |Iod |
|4 |Razdel4 |Razdel40 |Raztex4 |Joi |Iodi |
|5 |Razdel5 |Razdel50 |Raztex5 |Join |Iodin |
|6 |Razdel6 |Razdel60 |Raztex6 |Jois |Iodis |
|7 |Razdel7 |Razdel70 |Raztex7 |jos |ios |

Структура базы данных приведена в таблицах 2, 3, 4

Таблица 2

Структура базы данных.

Теория

|Поле Р1 |Поле Р2 |
|... |... |
| |ФОРМИРОВАНИЕ ПРЯМОЛИНЕЙНЫХ МОНОХРОМНЫХ ИЗОБРАЖЕНИЙ |
|* |procedure DrawPoly(NumPoints:word; |
|* |var PolyPoints); |
|7 |Строит ломаную линию. |
| |NumPoints - число вершин многоугольника PolyPoints - |
| |переменная без типа, содержащая NumPoints+1 пар координат |
| |вершин многоугольника (первая и последняя вершины должны |
| |совпадать). |
|* |procedure FillPoly(NumPoints:word;var PolyPoints); |
|8 |Закрашивает многоугольник текущим цветом и орнаментом. |
| |Параметры NumPoints и PolyPoints имеют тот же смысл и тип,|
| |что и одноименные параметры процедуры DrawPoly. |
|... |... |
|0 | |


Поле Р1 - флаги: * - признак выделения строки цветом

7,8 - признак наличия иллюстрации к тексту и ее номер

О - признак конца файла
Поле Р2 - текст.

Таблица 3

Структура базы данных.

Вопросы

|Поле |Поле Р2|Поле Р3 |
|Р1 | | |
|... |... |... |
|* |02 |КАК ПОСТРОИТЬ СТОЛБЧАТУЮ ДИАГРАММУ В ЗАРАНЕЕ СФОРМИРОВАННОЙ |
| | |РАМКЕ? |
| | |1 Bar3D(X1, Y1, X@, Y2, depth, true); |
| | |SetViewPort(X1, Y1, X@, Y2, false); |
| | |ClearViewPort; |
| | |Bar3D(X1, Y1, X@, Y2, depth, false); |
| | |2 Bar3D(X1, Y1, X@, Y2, depth, true); |
| | |SetViewPort(X1, Y1, X@, Y2, true); |
| | |ClearViewPort; |
| | |Bar3D(X1, Y1, X@, Y2, depth, false); |
| | |3 Bar3D(X1, Y1, X@, Y2, depth, true); |
| | |Bar3D(X1, Y1, X@, Y2, depth, false); |
| | |4 Bar3D(X1, Y1, X@, Y2, depth, true); |
| | |Bar3D(X1, Y1, X@, Y2, depth, true); |
|* | | |
|... | |... |
|0 | | |

Таблица 4


|Поле|Поле|Поле|Поле Р4 |Поле |
|Р1 |Р2 |РЗ | |Р5 |
| | | |SetViewPort. Координаты окна002 отсчитываются | |
| | | |от левого верхнего угла экрана в то время как | |
| | | |для процедуры Bar3D от левого верхнего угла | |
| | | |окна. | |
| | |* | |• |
|1 | |3 |Ответ правильный. |005 |
| | |* | | |
| | |4 |Ответ не точный. На экране появятся затененные |003 |
| | | |контуры нижнего параллелепипеда. | |
|* | | | | |
|... |... |... |... | |
|0 | | | | |

Поле Р1 - флаги: * - признак конца вопроса

1 - признак наличия иллюстрации и ее номер

О - признак конца файла
Поле Р2 - номера вопросов.
Поле РЗ - флаги: 1,2,3,4 - номера ответов.

* - признак конца справки
Поле Р4 - текст справок.
Поле Р5 - оценка.

2.3. Возможности изменения или обновления

2.3.1. Теория

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

Первое поле - Р1 . Так оно названо в программе и под него отведен один символ. Это поле используется как поле флага и анализируется программой с помощью условного оператора CASE. Значения флагов поля Р1 приведено в табл.5

Таблица 5


|Символ |Значение |Действия программы |
|поля Р1| | |
|0 |Конец |При считывании записи с этим символом в поле Р1 |
| |файла |программа возвращает Вас в меню, |
| | |если Вы изучали разделы 1 Или 2, или переходит в [режим |
| | |контрольных вопросов, если изучался раздел 3-7. |
|* |1 вывод |Строка выводится на экран другим (красным) цветом. Этим |
| |строки |символом отмечены строки, содержащие названия изучаемых |
| |другим |процедур и функций. Это сделано для наглядности |
| |цветом |изучения. В случае необходимости эти значки возможно |
| | |убрать и Текст будет выводится одним (синим) цветом. |
| | |Возможно выделить и другие строки цветом, внеся в поле |
| | |Р1 соответствующих записей значок '*'. Возможно |
| | |изменить цвет выделенных строк путем замены параметра |
| | |процедуры SetColor в операторах CASE константы '*' |
| | |процедур RAZDELXO . |
|# |признак |Используется только в разделах процедурах RAZDEL6, |
| |конца |RAZDEL7, в операторе CASE при проверке наличия |
| |страницы |иллюстрации. При обнаружении этого символа заканчивается|
| | |цикл вывода текста из файла теории. |
|любой |признак |Оператор CASE сравнивает этот символ с имеющимися у него|
|другой |наличия |константами и выводит соответствующую иллюстрацию на |
|ASCII-с|иллюст- |экран. Если символ среди констант не обнаружен, это не |
|имвол |рации |мешает дальнейшему считыванию текста. Поэтому |
| | |целесообразно иллюстрации обозначать сразу при написании|
| | |базы данных, а затем вносить соответствующие изменения в|
| | |программу. |

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.