Разработка программного приложения для решения информационнотАУлогических задач
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
nbsp;
Алгоритм решения программы разделен на несколько частей первая часть выполняет функцию решения задачи арифметического анализа и приведена в приложение А. Вторая функция алгоритма задачи синтаксического анализа и приведена в приложение Б.
2.4 Разработка программы решения задачи
.4.1 Выбор инструментальных средств
На выбор языка С повлияло то что он содержит простые средства для обработки текстовых данных, а так же то что он наиболее прост в изучении. Были выбраны регулярные выражения для проверки операторов. Остальной текст программы было решено разбирать посимвольно.
2.4.2 Разработка структуры программы
Основными функциями программы является синтаксический и арифметический анализ текста. Программа состоит из частей:
-вывод на экран пользователя меню, для выбора проверки СКНФ или проверки синтаксиса программы;
-при выборе пункта меню проверка СКНФ пользователем вводится функция для проверки. Программой производится посимвольный разбор введенной функции, после чего выводится сообщение с ответом, является или нет введенная функция СКНФ, и выводит подменю с возможностью повторного ввода функции или перехода в главное меню;
-при выборе пункта меню проверка синтаксиса программы, пользователю необходимо будет указать место хранения проверяемого файла (d:\programma.txt), после чего программа будет часть программы проверять посимвольно, а часть построчно, после чего на экран пользователя выведется сообщение об ошибке, либо если в случае правильности написания программы будет выдано сообщение о правильности проверяемой программы, затем будет выведено подменю с возможностью повторной проверки программы, либо переход в главное меню.
2.4.3 Проектирование программных модулей
Все модули будут принимать один текстовый параметр, и обмениваться информацией через глобальные переменные. Для каждой части программы текстовые данные обрабатываются различным образом:
-для первой части необходимо считать введенную функцию и проверить;
-для второй части необходимо считать путь к файлу и обработать;
-для третьей части программы как значимая часть данных, содержащихся в этом файле.
2.4.4Проектирование программного интерфейса
Диалог с пользователем будет интерактивным и осуществляется следующим образом:
-введение функции для проверки с клавиатуры пользователем, вывод результата;
-запуск программы пользователя с указанием имени файла, обработка и вывод результата;
-выход из программы.
Программа будет всегда выводит пользователю отформатированные данные:
-Данная функция является СКНФ;
-Данная функция не является СКНФ из-за неверного количества скобок;
-Данная функция не является СКНФ из-за неверно введенной конъюнкции;
-Данная функция не является СКНФ из-за неверно введенной дизъюнкции;
-Данная функция не является СКНФ из-за несоответствия элементов функции;
-Ошибок нет!;
-Ошибка: коментарии - /* */;
-Ошибка: фигурные скобки - { };
-Ошибка: с оператором - do while;
-Ошибка: в вункциях оператора...;
-Ошибка: Break;
-Ошибка: с оператором Switch.
2.4.5Обеспечение надежности программы
Данная программа не нуждается в защите от сбоев, так как информация не хранится.
2.5Определение конфигурации технических средств
-устройства ввода и вывода информации, такие как клавиатура и монитор;
-процессор класса Pentium 3 и выше;
-объем оперативной памяти не менее 128 Мб;
-от 500 Мб свободного места на жестком диске, для обеспечения запуска и работы программы;
-встроенный графический чип или видеоплата.
2.6 Тестирование программы
2.6.1 Общие сведения
Контрольными данными является файл с информацией, который обладает следующими свойствами:
-описание переменных типа int;
-арифметические операции (a|b|c)&(!a|!b|c)&(a|!b|c);
-операторы: if.. goto, do..while, switch;
-комментарии;
2.6.2 Процесс тестирования программы
Для тестирования программы можно применить следующий алгоритм:
-создать файл на носителе;
-заполнить его данными;
-запустить программу, указав путь к файлу;
-подождать вывода программы;
-ввести функцию СКНФ;
-подождать вывода программы;
-сравнить полученные результаты с теоретическими.
2.6.3 Оценка надежности
Программа работает надежно, так как выходные данные соответствуют требуемым результатам. В программе не производится хранение данных, поэтому надежность хранения данных не требуется в условиях настоящей задачи. Промежуточные данные необходимые для работы программы хранятся в оперативной памяти и удаляются сразу после завершения работы программы.
Заключение
Задачей данного курсового проекта являлась разработка программного приложения, выполняющего следующие функции:
-синтаксический анализ простой программы на языке С;
-форматирование текста программы на языке С.
Ввод функции СКНФ для ее проверки осуществляется вручную, загрузка текста программы для проверки осуществляется из файла. Предварительной подготовкой является:
-создание файла с текстом простой программы;
-размещение файла на носителе;
Программа должна работать в пакетном режиме. Выходные данные будут выводиться на экран пользователя.