Смекни!
smekni.com

Обучающая программа Графика программированию в графическом режиме на языке turbo-pascal 7.x (стр. 5 из 24)

В предыдущих разделах были описаны многочисленные средства и методы обучения с помощью компьютера. Однако, разработка насто­ящей программы для обучения является необходимой и целесообраз­ной в условиях данного учебного заведения. Целью создания данной программы является удовлетворение нужд учебного процесса с учетом технических возможностей академии, а именно разработка методи­ческих материалов по программированию с использованием ЭВМ типа 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 - флаги: * - признак выделения строки цветом