Целью данной курсовой работы является создание информационно-обучающей системы по теме «ПДД». Программа должна предоставлять пользователю теоретический материал по данной теме, а также содержать систему тестирования для оценки уровня знаний пользователя в данной области науки.
Необходимо разработать ПП с удобным пользовательским интерфейсом и системой поиска. Кроме того, необходимо разработать тесты для оценки уровня знаний, полученных пользователем.
Обучающая система должна обеспечить пользователю простоту получения информации по предметной области. Для поиска слова в тексте учебника должна существовать система поиска. Для удобства обращения с программой должна существовать статусная строка, являющаяся подсказкой, и содержащая возможные комбинации клавиш в том или ином случае.
Текстовые файлы (в формате .txt), содержащие теоретическую информацию о ПДД. Входные данные хранятся в данных текстовых файлах. Также входные данные вводятся с клавиатуры (варианты ответов в тесте и слова для поиска).
Выходные данные являются: результат тестирования пользователя, теоретический материал по данной предметной области, результат поиска по ключевому слову. Все выходные данные выводятся на экран монитора.
Существует главная программа. В неё поступают Входные данные, вводимые пользователем с клавиатуры (варианты ответов в тесте и слова для поиска), а также из внешних текстовых файлов (теория о ПДД). В ответ на вводимые данные главная программа выводит на экран монитора Выходные данные – теоретический материал, справку, результаты поиска и тестирования. Схематически работа программы изображена на рисунке 1.6.
Рисунок 1.1 Схема информационных потоков.
2 ВЫБОР ЯЗЫКА ПРОГРАММИРОВАНИЯ
Си – универсальный язык программирования. Он тесно связан с системой UNIX, так как был разработан специально для этой системы.
Язык программирования Си обеспечивает разнообразие типов данных. Базовыми типами являются литеры, а также целые и плавающие числа различных размеров. Кроме того, имеется возможность получать целую иерархию выводимых типов данных из указателей, массивов, структур и объединений. Выражения формируются из операторов и операндов. Любое выражение, включая присваивание и вызов функции, может быть инструкцией. Указатели обеспечивают машинно-независимую адресную арифметику.
Си относится к языкам среднего уровня, поскольку в нём управляющие структуры языков высокого уровня сочетаются со способностью манипулировать битами, байтами и указателями (адресами). Таким образом, Си предоставляет программисту возможность практически полностью управлять компьютером.
Язык Паскаль – это язык программирования, сравнительно, довольно ясен и логичен. Паскаль гибкий и развитый в отношении типов данных. Привлекательны его рекурсивные возможности, а также поддержка технологии объектно-ориентированного программирования.
Язык Паскаль стал «наследником» Алгола. Алгоритмический язык Алгол был разработан в 1950-60-х годах. Его разработчиком был швейцарский учёный Никлаус Вирт, собиравшийся использовать этот язык для обучения своих студентов методом разработки компилятором. Время рождения языка Паскаль – начало 70-х годов.
Но на практике язык Си показывает себя более удобным в использовании и гибким.
Поэтому данный ПП написан на языке C, компилятор BorlandC++ 3.1
3 ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКАЯ СХЕМА ПРОГРАММЫ
Рисунок 3.1
Работа программы начинается с загрузки главного меню программы. Он состоит из строки меню, статусной строки, двух окон вывода. Строка меню состоит из шести пунктов. Пользователь выбирает нужный ему пункт меню. Назначение пунктов строки меню следующее:
1) теория – выводит на экран теоретическую информацию из текстовых файлов по правилам дорожного движения;
2) тест – запускает окно для тестирования знаний пользователя;
3) поиск – запускает поисковую систему введённого пользователем с клавиатуры слова;
4) помощь – выводит на экран из текстового файла справку;
5) о программе – выводит на экран краткую информацию о программе и авторе;
6) выход – заканчивает работу алгоритма.
В меню «Теория» можно выбрать основные главы правил дорожного движения; программа выдаст теоретическую информацию.
В режиме тестирования пользователь отвечает на вопросы, используя цифровые клавиши (1, 2 или 3). Тестирование завершается, когда пользователь ответит на десять вопросов. После завершения тестирования выводится информация о результатах тестирования и оценка, которую получил пользователь.
В режиме поиска программа ожидает ввода слова или фразы, а затем производит поиск в текстовых файлах, содержащих теорию. Если слово или фраза найдена, программа возвращается в режим просмотра теории и выводит на экран теоретический материал, начиная со строки, в которой присутствует введённое слово.
Просмотр меню «Справка» аналогичен просмотру теоретического материала.
Меню «О программе» выводит краткую информацию об авторе и программе.
Меню «Выход» выполняет освобождение используемой памяти, закрытие используемых файлов и завершение работы алгоритма.
Схематично работа программы представлена на рисунке 3.1.
4 КОМПЛЕКТ ПОСТАВКИ, ПОРЯДОК ИНСТАЛЛЯЦИИ И ЗАПУСКА
В комплект поставки ПП входит Ар SYSTEMX.RAR. При распаковке данного архива в заданной пользователем директории установится папка SYSTEMX содержащая:
– 7 текстовых файлов с теоретической информацией(1.txt, 2.txt, 3.txt, 4.txt, 5.txt, 6.txt, 10.txt);
– файл EGAVGA.BGI – графические драйвера;
– файл KEYRUS.COM – русификатор;
– файл START.BAT – пакетный файл MS-DOSзапуска программы (запуск русификатора, а затем самой программы);
– файл PROEKT2.EXE – файл запуска программы без русификатора;
– файл PROEKT2.CPP – текстовый файл с исходным кодом программы.
Для запуска программы необходимо запустить пакетный файл MS-DOSSTART.BAT. Данный файл запустит русификатор (KEYRUS.COM), а затем саму программу. Вы можете также запустить русификатор или саму программу (PROEKT.EXE) отдельно, но при этом правильное функционирование программы не гарантируется. Также не рекомендуется удалять, перемещать или переименовывать любые файлы и папки директории SYSTEMX. В противном случае правильное функционирование программы не гарантируется.
5 ОПИСАНИЕ ПРОЦЕДУР И ФУНКЦИЙ
Структура взаимодействия процедур и функций представлена в иерархическом виде.
На самом верхнем уровне стоит процедура VOIDMAIN(VOID) – ядро всей программы, она взаимодействует со всеми основными процедурами и функциями:
1) функцию openf(), которая выводит теоретический материал из файла на экран;
2) процедуру menu(…),с помощью которой происходит рисование меню теории;
3) процедуру TEST(), реализующую тестирование пользователя;
4) процедуру interfice(…), с помощью которой происходит рисование основного окна программы.
5.1 Схема потоков данных
Схема потоков данных представлена на рисунке 5.1.1.
Входные данные разделяются на два потока: ввод данных с клавиатуры, считывание данных из внешнего файла, хранящего информацию по предметной области (учебный материал).
Затем потоки обрабатываются программой, и результат обработки предоставляется пользователю на экран.
ВЫВОДЫ
В результате проделанной работы был получен ПП, который предоставляет пользователю информацию о ручном огнестрельном оружии. Программа имеет удобный и интуитивно понятный пользовательский интерфейс, систему поиска фрагмента текста, справочную систему и тестирование пользователя по десяти вопросам указанной темы.
Характерными плюсами данной программы являются красивое оформления, простота навигации по программе, присутствие строки подсказки, справки и поиска. Программа не требует больших ресурсов компьютера для полноценной функциональности. Также удобно и то, что для установки программы необходимо просто запустить инсталляционный пакет, а затем распаковавшийся пакетный файл. Также положительной чертой программы является и то, что она может работать как под операционной системой MS-DOS (версии не ниже 5.22), так и под ОС MSWindows 95 и выше.
Однако у данного ПП есть и свои минусы. На сегодняшний день, по сравнению с другими ПП, программа является довольно примитивной, имеет всего лишь 16-цветную гамму против 16- и даже 32-битных цветовых гамм большинства современных программ. Также данный ПП является очень «капризным» - любое, даже самое малое, изменение в рабочих файлах программы приведёт к её полной или частичной нефункциональности.