Обучающая программа Графика программированию в графическом режиме на языке turbo-pascal 7.x
ввод-вывод , формировать графические изображения и т.д.. Среда
программирования позволяет создавать тексты программ, компилировать их,
находить ошибки и оперативно их исправлять, компоновать программы из
отдельных частей, включая стандартные модули, отлаживать и выполнять
отлаженную программу.
За последние годы фирма выпустила шесть модификаций этой системы,
известных как версии 3.0, 4.0, 5.0, 5.5, 6.0, 7.0. Каждая из них
представляет собой усовершенствование предыдущей, однако, и все программы,
разработанные для младших версий, могут практически без изменений
компилироваться и исполняться на более поздних. С помощью Turbo-Pascal
можно создавать любые программы - от программ, предназначенных для решения
простейших вычислительных задач, до сложных современных систем управления
базами данных и операционных систем. Система не уступает, а в некоторых
случаях и более проста в применении, по сравнению с профессиональным языком
программирования СИ.
Пакет Turbo-Pascal 7.0 предоставляет пользователю также большой объем
справочной информации. Он как и версия 6.0 обеспечивает многооконный и
много файловый режим работы, использование манипулятора "мышь", позволяет
применять объектно-ориентированное программирование, обладает встроенным
ассемблером, имеет инструментальное средство создания интерактивных
программ - Turbo-Vision -и т.д.
Пакет Turbo-Pascal 7.0 позволяет работать в обычном режиме MS DOS и
может быть использован практически на любой машине. Версия имеет ряд
преимуществ по сравнению с предыдущими:
1) выделение цветом различных элементов исходного текста программы -
идентификаторов, зарезервированных слов, комментариев, строк, чисел и т.д.,
что позволяет уже на стадии ввода исходного текста устранить многие ошибки,
описки;
2) многофайловая система помощи с возможностью ее перестройки
пользователем;
3) наличие локального меню с содержанием, зависящем от текущего
состояния среды ;
4) ряд дополнительных расширений языка, таких, как использование
открытых массивов, параметров-констант, типизированного адресного оператора
и т.д.. дающих программисту дополнительные возможности, позволяющих
совмещать требования, накладываемые на программы операционной системой MS
DOS и средой Windows, пользоваться некоторыми возможностями, которых нет в
языке Pascal и которые есть в других языках, например в языке СИ;
5) наличие дополнительных стандартных процедур и функций;
6) наличие дополнительных ключей компилятора;
7) расширенные возможности объектно-ориентированного программирования;
8) получение более эффективных кодов программ (использование кодового
сегмента для размещения строковых констант и констант типа-множества,
удаление пустых строк, проверка переполнения величин целых типов, более
быстрый ввод-вывод текстовых файлов и т.д.);
9) усовершенствованные программы Turbo Vision; 10) новая улучшенная
компоновка системы меню.
1.3. Техническое задание
1.3.1. Постановка задачи
Техническое задание данной дипломное работы требует разработать
программу для обучения работе в графическом режиме языка Turbo-Pascal
6.0/7.0 , предназначенную для студентов младших курсов Санкт-Петербургской
государственной Академии аэрокосмического приборостроения. Программа должна
отвечать следующим требованиям:
1) позволять индивидуально изучить работу с компьютеров в графическом
режиме
2) содержать 7 разделов для изучения :
- программирование графических режимов
- управление курсором и полем рисования
- формирование прямолинейных монохромных изображений
- управление цветом и стилем изображений
- программирование цветных криволинейных изображений
- формирование графических текстов
- программирование озвученных динамических сцен
3) представлять изучаемый материал наглядно, сопровождая текст
необходимыми иллюстрациями
4) предусматривать возможность повторения изученного материала
5) предусматривать возможность контроля приобретенных знаний
6) регистрировать результаты контроля знаний
7) обеспечивать возможность разъяснения студенту в случае
необходимости его ошибок
8) иметь продолжительность сеанса не более 45 минут
9) программа должна быть написана на языке программирования Turbo-
Pascal , не ниже версии 6.О..
1.3.2. Выбор технические средств и программного обеспечения
Для реализации данного технического задания необходимо использование
персонального компьютера типа IBM или совместимого с ним, растровый дисплей
с графическим адаптером типа EGA, имеющий объем видеобуфера 256 К
,графическим выводом 640x350 пиксел , 16 регистрами палитры (режим ЮН).
В качестве программного обеспечения необходимо иметь DOS,
инструментальную интегрированную среду Turbo-Pascal 7.O.
1.3.3. Технико-экономическое обоснование
Разрабатываемая программа предназначена для студентов младших курсов
СПГУАП. В учебном плане отсутствует курс лекций по данной теме и изучение
графического режима полностью оставлено для самостоятельного изучения.
Однако, для многих студентов работа только с литературой является
затруднительной, малопонятной и для получения удовлетворительных
результатов требует больших временных затрат.
Применение компьютерной программы для обучения в данном случае
является целесообразным. В процессе работы с такой программой студент
приобретает навыки работы с компьютером, что является целью курса, и
получает конкретные знания по теме "Графические средства алгоритмического
языка Turbo-Pascal". Диалог ЭВМ-пользователь (в данном случае обучаемый)
ведется в удобном для последнего темпе, что обеспечивает лучшее усваивание
материала. Каждый студент имеет возможность изучать разделы темы в удобном
для него порядке. Это экономит время студента для изучения более важных для
него разделов и игнорирование разделов, которые ему уже знакомы. В то же
время преподаватель имеет возможность уделять внимание студентам в
индивидуальном порядке. Программа предусматривает элементы проверки знаний
в виде контрольных вопросов в конце разделов. Такая система обучения дает
возможность студенту самостоятельно оценить свои знания. После ответа на
вопрос обучаемый получает справку о его правильности и пояснения в случае
неверного ответа. После ответов на все вопросы раздела он может изучить
тему вновь и вновь ответить на контрольные вопросы. Принцип "обучение +
контроль" повышает уровень получаемых знаний.
В предыдущих разделах были описаны многочисленные средства и методы
обучения с помощью компьютера. Однако, разработка настоящей программы для
обучения является необходимой и целесообразной в условиях данного учебного
заведения. Целью создания данной программы является удовлетворение нужд
учебного процесса с учетом технических возможностей академии, а именно
разработка методических материалов по программированию с использованием ЭВМ
типа 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 - флаги: * - признак выделения строки цветом
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-с|иллюст- |экран. Если символ среди констант не обнаружен, это не |
|имвол |рации |мешает дальнейшему считыванию текста. Поэтому |
| | |целесообразно иллюстрации обозначать сразу при написании|
| | |базы данных, а затем вносить соответствующие изменения в|
| | |программу. |
Второе поле - Р2 - составляет 69 символов и содержит непосредственно
текст теоретической части изучаемой темы. Программа написана таким образом,
что из файла теории считывается на экран по 32 строки. Экран удерживает
изображение до нажатия любой символьной клавиши, после чего он очищается и
выводятся следующие 32 строки текста и т.д. до конца файла. При этом каждые
32 строки образуют страницу текста. Началу каждой новой страницы
соответствует заголовок - название изучаемого раздела. Это целесообразно,
так как теория имеет значительный объем, экраны полностью заполнены. В
случае необходимости (нехватки строк) следует "добить" пустые строки, чтобы
страница состояла из 32 строк. Количество пустых строк будет в данном
случае незначительно, однако такая структура делает базу данных наглядной и
удобной для работы даже неспециалисту и не загромождает поле Р1 лишними
знаками типа признака вывода пустой строки.
При внесении изменений в файл теоретической части базы данных следует
помнить следующее:
1) поле Р1 должно занимать 1 символ. В случае отсутствия в нем флага
поле должно быть пустым;
2) поле Р2 должно занимать 69 символов. Если в строке необходимо
поместить больше символов, То их следует перенести на другую строку, а если
значащих символов меньше 69, то следует "добить" символы "пробел" так,
чтобы строка составляла всего 69 символов;
3) звездочкой необходимо помечать строки, которые следует выделить
другим (красным) цветом;
4) если базу данных дополняют, то следует не забыть указать в начале
страницы название раздела;
5) символ - признак иллюстрации можно ставить в любом месте страницы.
Место нахождения иллюстрации будет определено программным путем;
5) в конце файла следует поставить значок '0' в поле Р1. Поле Р2 этой
записи считываться не будет ;
6) после окончания написания базы данных следует проверить еще раз
соответствие всех строк необходимой длине (после нажатия клавиши END курсор
должен останавливаться в позиции 70);
2.3.2. Вопросы
Файлы, содержащие вопросы к разделам 3,4,5,6,7 являются так же как и
файлы теории файлами типа запись. Они содержат по три поля.
Первое поле Р1 и под него выделен один символ. Поле используется как
поле флагов. Значения этих флагов приведены в табл.6
Таблица 6
Значения флагов поля Р1
|Символ поля |Значение |Действия программы |
|Р1 | | |
|0 |Конец файла|При считывании записи с этим символом программа |
| | |прекращает поиск нужного номера вопроса. |
|* |Конец |Прекращается вывод содержимого поля РЗ (текста |
| |вопроса |вопроса) на экран. |
|Любой другой|Признак |CASE сравнивает этот символ с имеющимися у него |
|ASCII-символ|наличия |константами и выводит соотв. иллюстрацию на экран. |
| |иллюстрации|Если символ среди констант не обнаружен, это не |
| | |мешает дальнейшему считыванию текста. Поэтому |
| | |целесообразно иллюстрации обозначать сразу при |
| | |написании БД,а затем вносить соотв. изменения в ПО. |
Второе поле - Р2. Оно состоит из двух символов и предназначено для
обозначения начал и номеров вопросов. Поле может содержать номера с 01 по
99. При считывании записи программа анализирует поле Р2 и если считанный
номер соответствует требуемому, то выводит содержимое поля РЗ (текст
вопроса) на экран до тех пор, пока в поле Р1 не появится признак конца
вопроса.
Третье поле - РЗ - содержит текст самих вопросов и под него выделено
69 символов. Аналогично полю Р2 файла теории это поле должно содержать
ровно 69 символов и, в случае если значащих символов в строке меньше 69,
следует "добить" символы "пробел".
В отличие от порядка считывания файла теории, файл вопросов имеет флаг
признака конца вопроса. Таким образом на экран выводится текст вопроса
начиная с нужного номера и до появления флага признака конца вопроса.
Поэтому при наборе текста вопросов необходимо следить, чтобы вопрос
поместился в поле экрана , т.е. не превышал 32 строк, имелись необходимые
пустые строки, отступы, красные строки и т.д... Пустые строки в конце
вопроса "добивать" не следует.
При внесении изменений в файл вопросов базы данных следует помнить
следующее:
1) поле Р1 должно занимать 1 символ. В случае отсутствия в нем флага
поле должно быть пустым;
2) поле Р2 должно занимать 2 символа;
3) поле РЗ должно занимать 69 символов. Если в строке необходимо
поместить больше символов, то их следует перенести на другую строку, а если
значащих символов меньше 69, то следует "добить" символы "пробел" так,
чтобы строка составляла всего 69 символов;
4) текст вопроса должен начинаться номером вопроса, содержащимся в
поле Р2 и кончаться символом '*' , содержащимся в поле Р1;
5) символ - признак иллюстрации можно ставить в любом месте поля Р1
напротив текста вопроса. Место нахождения иллюстрации будет определено
программным путем;
6) в конце файла следует поставить значок '0' в поле Р1. Остальные
поля этой записи считываться не будут ;
7) после окончания написания базы данных следует проверить еще раз
соответствие всех строк необходимой длине (после нажатия клавиши END курсор
должен останавливаться в позиции 72);
2.3.3. Справки
Файл справок является файлом типа запись и имеет пять полей. Первое
поле - Р1 - поле флагов, под которое отведен один знак. Значение флагов
поля Р1 приведено в табл.7
Таблица 7
Значения флагов поля Р1
|Символ |Значение |Действия программы |
|поля Р1 | | |
|0 |Конец |При считывании записи с этим символом программа |
| |файла |прекращает поиск нужного номера вопроса. |
|* |Конец |Прекращается вывод содержимого поля РЗ (текста вопроса)|
| |вопроса |на экран. |
|Любой |Признак |Оператор CASE сравнивает этот символ с имеющимися у |
|другой |наличия |него константами и выводит соответствующую иллюстрацию |
|ASCII-симв|иллюстраци|на экран. Если символ среди констант не обнаружен, это |
|ол |и |не мешает дальнейшему считыванию текста. Поэтому |
| | |целесообразно иллюстрации обозначать сразу при |
| | |написании базы данных, а затем вносить соответствующие |
| | |изменения в программу. |
Поле Р2 содержит номера вопросов от 01 до 99. Под это поле отводится
2 знака. Программа, считывая поле Р2 анализирует его значение и, если оно
соответствует нужному номер вопроса, то начинает поиск нужного номера
ответа в поле РЗ вплоть до появления признака конца вопроса в поле Р1.
Поле РЗ - поле флагов. Под него отведен один знак. Числа 1,2,3,4 - номера
ответов. При полном обновлении базы данных возможно увеличить или уменьшить
количество вариантов ответов. Однако, необходимо при этом внести изменения
и в программу. Поле РЗ содержит и признак конца справки. Таким образом,
программа, найдя нужный номер ответа начинает считывать и выводить на экран
справку -содержимое поля Р4 до появления значка '*' в поле РЗ.
Поле Р4 содержит текст справок. Под него отведено 68 знаков.
Необходимо при написании базы данных четко соблюдать размеры всех полей.
Поле Р5 - поле оценки. Под него отведено 3 знака. Это обусловлено
разницей в длине ASCIIZ-строки и строки типа string. Оценка должна
выглядеть следующим образом: 001, 002, 003, 004, или 005. Программа
обращается к этому полю когда находит нужный номер ответа Поэтому оценку
следует помещать в поле Р5 в записях, содержащих номера ответов.
Как правило, текст справки не превышает текста вопроса, но следует
помнить, что объем ее не должен превышать объема экрана, т.е. 32 строки.
При внесении изменений в файл справок следует помнить следующее:
1) поле Р1 должно занимать 1 символ. В случае отсутствия в нем флага
поле должно быть пустым;
2) поле Р2 должно занимать 2 символа;
3) поле РЗ должно занимать 68 символов. Если в строке необходимо
поместить больше символов, то их следует перенести на другую строку, а если
значащих символов меньше 68, то следует "добить" символы "пробел" так,
чтобы строка составляла всего 68 символов;
4) текст справки должен начинаться номером ответа и кончаться символом
'*' , содержащимися в поле РЗ;
5) запись, содержащая в поле Р1 признак конца вопроса не считывается
далее и не выводится на экран. Поэтому конец вопроса и конец последней
справки в вопросе не должны попадать в одну запись, т.е. должны находится в
разных строках.
6) символ - признак иллюстрации можно ставить в любом месте поля Р1
напротив текста справки. Место нахождения иллюстрации будет определено
программным путем;
7) в конце файла следует поставить значок 'О1 в поле Р1. Остальные
поля этой записи считываться не будут ;
8) после окончания написания базы данных следует проверить еще раз
соответствие всех строк необходимой длине (после нажатия клавиши END курсор
должен останавливаться в позиции 76);
Всякое внесение изменений в базу данный вплоть до ее полного
обновления требует внимания и точности . Необходимо четко соблюдать размеры
всех полей записи. В противном случае возможны ошибки. Например, появление
значков конца строки в выводимом тексте, отсутствие вывода результатов
работы и др..
3. ОПИСАНИЕ ПРОГРАММЫ
3.1. Общие сведения
Настоящая дипломная работа посвящена разработке программы для обучения
работе в графическом режиме языка Turbo-Pascal. Цели и задачи данной
разработки, а также методика обучения с помощью данной программы/
возможности языка были описаны выше, в разделе "Назначение обучающей
программы". Программа написана на языке Turbo-Pascal. Этот язык является
языком высокого уровня . Он имеет рад преимуществ перед другими языками
высокого уровня. Самые главные его достоинства - это простота и
естественность, великолепные сервисные возможности. Наличие типа запись,
возможности модульного программирование, наличие библиотеки стандартных
модулей дают возможность быстро и эффективно создавать самые разнообразные
программные продукты начиная от решения простейших вычислительных задач и
кончая сложными современными системами управления базами данных и
Страницы: 1, 2, 3, 4, 5, 6, 7
|