Поле РЗ - поле флагов. Под него отведен один знак. Числа 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 .
Программа называется "Графика" . Она состоит из основной программы, содержащейся в файле с именем "Graphic", восьми самостоятельных модулей с именами Razdel1, Razdel2, Razdel3, Razdel4, Razdel5, Razdel6, Razdel7, MyBook.
Основная программа формирует заставку к программе, обращается к файлу Veden, содержащему текст введения, выводит текст введения, формирует систему меню, через которое затем обращается к процедурам модулей Razdel1 – Razdel7, получает из этих процедур переменные , содержащие оценки за ответы на контрольные вопросы, присваивает их значение своим переменный, хранит их в течение всей работы с программой и отвечает за формирование раздела "Результаты Вашей работы" системы меню. Основная программа регламентирует доступ к разделам. Переменные NOMER3 - NOMER7 являются счетчиками и обеспечивают вход в процедуры модулей Razdel3 – Razdel7 не более двух раз за сеанс. При этом основная программа хранит все оценки, полученные за ответы на контрольные вопросы , и все их выводит на экран по обращению к разделу меню "Результаты Вашей работы".
Модули Razdel1 – Razdel7 содержат процедуры с именами Razdel10 - Razdel70 соответственно. Эти процедуры устанавливают связь с файлами базы данных, выводят текст теории, вопросов, справок, содержат программный текст иллюстраций к теории, вопросам и справкам. По результатам ответов студента на контрольные вопросы процедура формирует переменную. После отработки модуля значение этой переменной переприсваивается определенной переменной основной программы. И основная программа хранит это значение до окончания работы с программой.
База данных состоит из трех логических частей, которые содержат теоретическую часть, контрольные вопросы и справки. Они расположены в каталоге следующим образом. Теоретическая часть размещается в восьми файлах типа запись . Файлы с именами Raztex1, Raztex2, Raztex3, Raztex4, Raztex5, Raztex6, Raztex7 содержат тексты теоретической части по семи разделам соответственно. Файл Veden содержит текст введения. К разделам , содержащимся в файлах Razdel3 – Razdel7 имеются контрольные вопросы , размещенные в файлах Joing, Joi, Join, Jois, Jos, и справки , размещенные в файлах lod, lodi, lodin, lodis, los. Файлы контрольных вопросов и справок так же являются файлами типа запись. Структура базы данных, ее содержание, возможности дополнения, обновления или частичного изменения, схема обращений процедур к базе данных подробно описаны в разд.2.
Модуль MyBook является библиотечным модулем. Он включает в себя четыре процедуры, которые неоднократно встречаются в текстах основной программы и процедур рабочих модулей. Процедура OKNO -формирует экранную рамку, в которой будут размещаться тексты программы. Процедура OKN01 формирует заставку с надписью "Контрольные вопросы". Процедура GraphRegim обеспечивает вход в графический режим. Эти три процедуры используются практически во всех процедурах и в основной программе. Процедура Diogramraa формирует последнюю иллюстрацию к разделу 5 и вынесена в данный модуль так как занимает значительный объем.
Разработанная программа является самостоятельной программной единицей. Для ее функционирования необходимо иметь в арсенале следующие средства : персональный компьютер типа IBM или совместимый с ним, дисплей с графическим адаптером типа EGA, имеющим объем видеобуфера 256 К, графическим выводом 640x350 пиксел, 16 регистрами палитры. В качестве программного обеспечения необходимо иметь DOS, инструментальную интегрированную среду Turbo-Pascal 7.0, файлы bold.chr, goth.chr, sans.chr, trip.chr нестандартных шрифтов, файлы с текстом программы, файлы , содержащие базу данных. Для работы с программой , при условии наличия выще указанных технических и программных средств, следует обратиться к файлу с именем "Graphic". При этом необходимые данные загружаются в оперативную память компьютера и далее работа с программой идет в диалоговом режиме, не требующем вмешательства программиста. Выход из программы осуществляется также по желанию обучаемого при входе в раздел меню "Конец работы".
3.2. Функциональное назначение
Программа для обучения работе в графическом режиме предназначается для обучения студентов младших курсов Санкт-Петербургской государственной Академии аэрокосмического приборостроения навыкам программирования, а именно работе в графическом режиме языка Turbo-Pascal .
Для работы с настоящей программой необходимо знание стандарта языка, интегрированной среды и элементарным навыкам работы с персональным компьютером . Программа содержит теоретический материал по семи разделам:
1) Программирование графических режимов.
2) Управление курсором и полем рисования.
3) Формирование прямолинейных монохромных изображений.
4) Управление цветом и стилем изображений.
5) Формирование цветных криволинейных изображений.
6) Формирование графических текстов.
7) Программирование озвученных динамических сцен.
Эти разделы содержат наименование процедур и функций, их параметры, условия и примеры использования в программах. Текст сопровождается необходимыми иллюстрациями. Ввиду отсутствия лекций по данной теме, наличие обучающей программы дает возможность студентам самостоятельно и с минимальными затратами времени освоить работу с графикой . Разделы 3-7 содержат контрольные вопросы. Элемент контроля знаний обеспечивает студентам возможность самоконтроля, резко повышает уровень знаний, т.к. в случае необходимости обучаемый имеет возможность повторно изучить любую тему и ответить на контрольные вопросы - проверить Полученные знания.