Модуль 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