В предыдущих разделах были описаны многочисленные средства и методы обучения с помощью компьютера. Однако, разработка настоящей программы для обучения является необходимой и целесообразной в условиях данного учебного заведения. Целью создания данной программы является удовлетворение нужд учебного процесса с учетом технических возможностей академии, а именно разработка методических материалов по программированию с использованием ЭВМ типа IBM PC и языка Turbo-Pascal. Среди уже существующих компьютерных обучающих программ отсутствует программа для обучения работе в графическом режиме языка Turbo-Pascal. Таким образом разработка методических материалов необходима при использовании любых методов обучения. Кроме того существующие обучающие программы не отвечают ряду требований технического задания , в частности по содержанию программы, ее оформлению, ограничению по продолжительности сеанса, выбору языка программирования.
Разработка данной программы является экономически обоснованной. Существует теоретическая возможность приобретения академией уже существующего аналогичного программного обеспечения и адаптация его для решения конкретной задачи по обучению работе в графическом режиме. Это потребует значительных материальных затрат как на приобретение такого программного обеспечения , так и на его обработку и подготовку к работе . В сложившейся экономической ситуации такое решение проблем для академии невозможно. Данная дипломная работа решает вопрос обеспечения учебного процесса необходимым компьютерным сопровождением и экономит материальные средства академии.
2. ОПИСАНИЕ БАЗЫ ДАННЫХ
2.1. Методическое оснащение базы данных
В 1992 году фирма Borland International выпустила два пакета программирования, основанные на использовании языка Паскаль -Borland Pascal 7.0 и Turbo Pascal 7.O. Первый пакет включает в себя три режима работы: в обычном режиме операционной системы MS DOS, в защищенном режиме MS DOS и в среде Windows. Этот пакет требует для использования своих возможностей довольно большой объем памяти -примерно 30 Мбайт на Жестком диске и не менее 2 Мбайт оперативной памяти. Пакет Turbo-Pascal 7.0 обладает ограниченными возможностями и дает возможность работать только в обычном режиме MS DOS. Однако, он доступен для использования на обычных персональных компьютерах типа IBM и его стоимость по сравнению с первым пакетов значительно ниже»
Turbo-Pascal включает в себя язык программирования - одно из расширений языка Паскаль для ЭВМ типа IBM и среду, предназначенную для написания, отладки и запуска программы. Язык имеет расширенные возможности по сравнению со стандартом, хорошо развитую библиотеке модулей, позволяющих использовать возможности операционной системы, создавать оверлейные структуры, организовывать ввод-вывод, формировать графические изображения и т.д.
Целью написания данной программы является ознакомить студентов с возможностями языка Turbo-Pascal б.0\7.0 по формированию, вводу и выводу графической информации. При написании базы данных были использованы учебные пособия [4], [5] и [6]
Работа посвящена возможностям языка TURBO-PASCAL по работе с графической информацией. Студентам предлагается ознакомиться со стандартными модулями Graph, Crt, а также с отдельными процедурами других модулей.
Модуль 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 - флаги: * - признак выделения строки цветом