Автор: Пользователь скрыл имя, 24 Октября 2012 в 14:41, курсовая работа
Данная курсовая работа разработана в соответствии с требованиями курсового проектирования.
В данной курсовой работе проведено исследование предметной области, определены цели создания системы и ее назначение, описана программа и разработано руководство оператору.
Введение………………………………………………………………………….......4
Исследование предметной области ...............................................................5
1.1. Характеристика железнодорожного транспорта…………………………5
1.2. История железных дорог России.....................................................................6
1.3.Информационно–справочная система по пассажирским железнодорожным перевозкам...................................................................9
1.4. Понятие об информационно-справочных системах и их программная
реализация................................................................................................11
1.5. Базы данных и способы их представления..................................................12
2. Логическое программирование.......................................................................14
2.1. Пролог………………………………………………………………………14
2.2. Базовые понятия и термины Пролога.....................................................15
2.3. Структура программы на ТП...................................................................19
2.4. Пролог-программа ................................................................................23
3. Техническое задание .......................................................................................25
3.1. Общие сведения……………………………………………………………..25
3.2. Назначение и цели создания системы…………………………………….25
3.3. Требование к системе………………………………………………………25
4. Описание программы………… …………….....................................................26
4.1. Общие сведения……………………………………………………………..26
4.2. Функциональное назначение………………………………………………26
4.4. Входные данные…………………………………………………………….26
4.5. Выходные данные…………………………………………………………..26
5. Руководство оператора......................................................................................27
5.1. Назначение программы……………………………………………………27
5.2. Выполнение программы…………………………………………………...27
5.3. Сообщения оператору……………………………………………………..27
5.4. Порядок выполнения вызова программы......................................................30
5.5. Обращение к программе.................................................................................30
5.6. Пример работы программы……………………………………………….30
Заключение...……………………………………………………...........................31
Список литературы……………………………………………….........................32
Приложения
Приложение 1. Листинг программы ………...…………………...........................33
3.3. Требования к системе
Требуется разработать программу, обеспечивающую выполнение следующих функций:
4. Описание программы
4.1. Общие сведения
4.2. Функциональное назначение
Функциональное назначение данной программы заключается в следующем:
4.4. Входные данные
Входными данными этой программы являются: пункты меню.
4.5. Выходные данные
Выходными данными этой программы
является: ответ системы на запрос пользователя.
5. Руководство оператора
5.1. Назначение программы
Программа предназначена для выдачи справочной информации, а также для формирования СПРАВКИ по определенным критериям:
5.2. Выполнение программы
Все режимы программы активизируются с помощью меню, которое реализовано процедурой menu.
Меню данной программы состоит из четырех пунктов:
Для активизации какого-либо режима пользователю следует нажать цифровую клавишу, соответствующую выбранному пункту меню. При появлении подменю повторить операцию. При запросе пункта назначения - ввести строку, определяющую пункт назначения. При этом необходимо помнить об языковой раскладке клавиатуры и о состоянии клавиши CAPSLOCK.
5.3. Сообщения оператору
Меню данной программы состоит из четырех пунктов:
На рисунке 1 представлено меню данной программы:
Рисунок 1. Меню программы
На рисунке 2 представлена справочная информация выдаваемая пользователю, после введения им номера рейса железнодорожного поезда:
Рисунок 2. Справочная информация выдаваемая пользователю, после введения им номера рейса железнодорожного поезда.
На рисунке 3 представлена справочная информация выдаваемая пользователю, после введения им времени отправления железнодорожного поезда:
Рисунок 3. Справочная информация выдаваемая пользователю, после введения им времени отправления железнодорожного поезда.
На рисунке 4 представлена справочная информация выдаваемая пользователю, после введения им пункта назначения:
Рисунок 4. Справочная информация выдаваемая пользователю, после введения им пункта назначения
5.4. Порядок выполнения вызова программы
Запуск программы осуществляется посредством открытия файла WORK.PRO
Заключение
В данной курсовой работе было проведено исследование предметной области и разработана информационно – справочная система «Справочная система железнодорожной компании».
В процессе работы была создана программа, которая реализована на языке Turbo Prolog v 2.0. Это наиболее распространенный на сегодняшний день язык программирования, поэтому разобраться в программе не составит трудности. Программа устойчиво работает и выполняет поставленную задачу.
Программа является универсальной и может быть усовершенствована любым пользователем, разбирающимся в языке программирования Turbo Prolog v 2.0. так же может быть усовершенствована любым пользователем для написания подобных информационно-справочных систем.
Список литературы
Приложение 1. Листинг программы
DOMAINS
number,nspravka,number1,
DATABASE
spravka(number,nspravka)
spravka1(number1,nspravka1)
spravka2(number2,nspravka2)
PREDICATES
nondeterm
name_spravka(number,nspravka)
name_spravka1(number1,
name_spravka2(number2,
m(char)
menu
CLAUSES
spravka("1","Отправление:
spravka("2"," Отправление:
Москва\nНазначение: Грозный\n\Время отправления:
14:37\n\nТип вагона:Платскарт\n\n\Дни выполнения
рейсов:Понедельник-Среда\n\
spravka("3","Отправление:
spravka("4","Отправление:
spravka("5","Отправление:
spravka("6","Отправление: Москва \nНазначение: Сочи\n\n Время отправления: 19:29\n\nТип вагона: Платскарт \n\ Дни выполнения рейсов:Вторник\n\nВремя прибытия: 04:13\n\nЦена: 2996").
spravka("7","Отправление:
Москва \nНазначение: Пермь\n\n Время отправления:
19:50\n\nТип вагона: Купе \n\ Дни выполнения
рейсов:Вторник-Воскресенье\n\
spravka("8","Отправление: Москва \nНазначение: Самара\n\n Время отправления: 18:10\n\nТип вагона: Платскарт \n\ Дни выполнения рейсов:Четверг\n\nВремя прибытия:09:00\n\nЦена: 2793").
spravka("9","Отправление: Москва \nНазначение: Томск\n\n Время отправления: 22:40\n\nТип вагона: Купе \n\n Дни выполнения рейсов:Среда\n\nВремя прибытия: 05:56\n\nЦена: 8268").
spravka("10","Отправление:
Москва \n Назначение: Хабаровск\n\n Время
отправления: 00:35\n\nТип вагона: Купе \n\n
Дни выполнения рейсов:Понедельник-Четверг\n\
spravka1("09:35","Номер рейса:
1\n Отправление: Москва \nНазначение:Архангельск\n\
spravka1("14:37"," Номер рейса:
2\n Отправление: Москва \nНазначение:Грозный
\n\nТип вагона: Платскарт \n\n Дни выполнения
рейсов:Понедельник-Среда\n\
spravka1("14:06"," Номер рейса:
3\n Отправление: Москва \nНазначение:Калининград\n\
spravka1("16:46"," Номер рейса: 4\n Отправление: Москва \nНазначение:Киевn\nТип вагона: Платскарт \n\n Дни выполнения рейсов:Воскресенье\n\nВремя прибытия: 05:10\n\nЦена: 1349").
spravka1("14:50"," Номер рейса: 5\n Отправление: Москва \nНазначение:Красноярск\n\nТип вагона: Купе \n\n Дни выполнения рейсов:Понедельник\n\nВремя прибытия: 05:30\n\nЦена: 9450").
spravka1("19:29"," Номер рейса: 6\n Отправление: Москва \nНазначение:Сочи\n\nTip Тип вагона: Платскарт \n\n Дни выполнения рейсов:Вторник\n\nВремя прибытия: 04:13\n\nЦена: 2996").
spravka1("19:50"," Номер рейса:
7\n Отправление: Москва \nНазначение:Пермь\n\nТип
вагона: Купе \n\n Дни выполнения рейсов:Вторник-Воскресенье\n\
spravka1("18:10"," Номер рейса: 8\n Отправление: Москва \nНазначение:Самара\n\nТип вагона: Платскарт \n\n Дни выполнения рейсов:Четверг\n\nВремя прибытия: 09:00\n\nЦена: 2793").
spravka1("22:40"," Номер рейса: 9\n Отправление: Москва \nНазначение:Томск\n\nТип вагона: Купе \n\n Дни выполнения рейсов:Среда\n\nВремя прибытия: 05:56\n\nЦена: 8268").
spravka1("00:35","Номер рейса:
10\n Отправление: Москва \nНазначение:Хабаровск\n\nТип
вагона: Купе \n\n Дни выполнения рейсов:Понедельник-Среда\n\
spravka2("Архангельск"," Номер рейса: 1\Москва-Архангельск \n\nТип вагона: Купе \n\n Дни выполнения рейсов:Суббота\n\nВремя отправления: 09:35\n\nВремя прибытия: 06:24\n\nЦена: 2763").
spravka2("Грозный"," Номер
рейса: 2\ Москва- Грозный \n\nТип вагона:
Платскарт \n\n Дни выполнения рейсов:Понедельник-Среда\n\
spravka2("Калининград"," Номер рейса: 3\Москва- Калининград \n\nТип вагона: Купе \n\n Дни выполнения рейсов:Вторник\n\nВремя отправления: 14:06\n\nВремя прибытия: 12:06\n\nЦена: 3222").
spravka2("Киев"," Номер рейса: 4\ Москва-Киев\n\nТип вагона: Платскарт \n\n Дни выполнения рейсов:Воскресенье\n\nВремя отправления: 16:46\n\nВремя прибытия: 05:10\n\nЦена: 1349").
spravka2("Красноярск"," Номер рейса: 5\ Москва-Краноярск\n\nТип вагона: Купе \n\n Дни выполнения рейсов:Понедельник\n\nВремя отправления: 14:50\n\nВремя прибытия: 05:30\n\nЦена: 9450").
spravka2("Сочи"," Номер рейса: 6\ Москва-Сочи\n\nТип вагона: Платскарт \n\n Дни выполнения рейсов:Вторник\n\nВремя отправления: 19:29\n\nВремя прибытия: 04:13\n\nЦена: 2997").
spravka2("Пермь'"," Номер
рейса: 7\ Москва -Пермь\n\nТип вагона: Купе
\n\n Дни выполнения рейсов:Вторник-Воскресенье\n\
spravka2("Самара"," Номер рейса: 8\ Москва-Самара\n\nТип вагона: Платскарт \n\n Дни выполнения рейсов:Четверг\n\nВремя отправления: 18:10\n\nВремя прибытия: 09:00\n\nЦена: 2793").
spravka2("Томск"," Номер рейса: 9\ Москва -Томск\n\nТип вагона: Купе \n\n Дни выполнения рейсов:Среда\n\nВремя отправления: 22:40\n\nВремя прибытия: 05:56\n\nЦена: 8268").
spravka2("Хабаровск","
Номер рейса: 10\ Москва -Хабаровск\n\nТип
вагона: Купе \n\n Дни выполнения рейсов:Понедельник-Четверг\n\
00:35\n\nВремя прибытия: 02:33\n\nЦена: 8073").
name_spravka(Number,Spravka):-
name_spravka(_,"НЕТ ИНФОРМАЦИИ").
name_spravka1(Number1,
name_spravka1(_,"НЕТ ИНФОРМАЦИИ ").
name_spravka2(Number2,
name_spravka2(_,"НЕТ ИНФОРМАЦИИ ").
menu:-
clearwindow,
write("1-Номер рейса"),nl,
write("2-Время отправления "),nl,
write("3-Пункт назначения"),nl,
write("0-Выйти"),
readchar(C),
m(C).
m('1'):-!,
clearwindow,
write("Введите номер рейса"),nl,
readln(Number),
name_spravka(Number,Spravka),
write(" SPRAVKA\n",Spravka),nl,
readchar(_),!,
menu.
m('2'):-!,
clearwindow,
write("Введите номер отправления"),nl,
readln(Number1),
name_spravka1(Number1,
write(" SPRAVKA\n",Spravka1),nl,
readchar(_),
menu.
m('3'):-!,
clearwindow,
write("Введите пункт назначения"),nl,
readln(Number2),
name_spravka2(Number2,
Информация о работе Экспертная система железнодорожных рассписаний