repeat.
repeat:- repeat.
При отладке программы ошибки устранялись в три этапа. На
первом этапе интерпритатор языка Пролог сам указывал на синтакси-
ческие ошибки. Такие ошибки возникали при неправильном написании
имен встроенных предикатов, когда я забывал описать новые преди-
каты в разделе predicates и т.д. Если компиляция прошла успешно,
но программа работала некорректно, приходилось переходить ко вто-
рому этапу - просмотру текста программы и логическому осмыслению
ошибки. На этом этапе были устранены такие ошибки, как вывод все-
го одной записи базы данных в режиме просмотра БД. Причиной это-
му было отсутствие в конце процедуры предиката fail. Ошибка была
устранена. Если не помогал второй этап, приходилось переходить к
третьему - трассировке. Так была установлена следующая ошибка:
при выходе из процедуры Working(4) главное меню выводилось не в
окне "Список абитурьентов", а в окне "Загрузка" (т.е. не удаля-
лось это окно "Загрузка"). После трассировки было выяснено, что в
процедуре не в том месте стоит предикат Repeat ( он стоял в нача-
ле процедуры, а его следовало поставить после предиката
makewindow), из-за чего происходило многократное создание окна
"Загрузка" и только однократное его удаление. Ошибка была исправ-
лена. В процессе конечной отладки и решения контрольных примеров
ошибок в программе обнаружено не было.
Программа "Список абитурьентов" представляет собой инфор-
мационно-справочную систему. В данной программе имеется возмож-
ность создания новой базы данных, являющейся списком зачисленных
студентов. В основной БД присутствуют данные о фамилии, имени и
отчестве абитурьента, его поле, номере экзаменационного листа и
оценках за три экзамена. В дочерней БД имеются те же данные за
исключением пола и того, что оценки за экзамены заменены их сум-
мой.
При запуске программы на экран выводится главное меню:
0 - О системе...
1 - Корректировка данных
2 - Уничтожение данных
3 - Просмотр базы
4 - Загрузка базы
5 - Сохранение базы
6 - Создание новой базы
7 - Выход из программы
Для выбора какого-либо пункта следует нажать соответ-
ствующую цифровую клавишу. Вход в каждый пункт сопровождается ко-
ротким звуковым сигналом. При нажатии неверной клавиши на экран
выводится окно с сообщением об ошибке и подсказкой, в каком ин-
тервале следует вводить число. Ниже приводится описание каждого
из пунктов.
При выборе данного пункта на экран выводятся данные о
системе и ее авторе. После нажатия на любую клавишу происходит
выход в главное меню.
При входе в этот пункт на экран выводится подменю:
1 - Изменение данных
2 - Добавление данных
3 - Выход в главное меню
Пункт 1 предназначен для изменения данных в записях. При
входе в него так же появляется подменю:
1 - Известен номер абитурьента
2 - Известна фамилия
Если известен номер абитурьента, то следует ввести цифру
1, если известна фамилия - цифру 2. После этого система запросит
соответственно номер или фамилию. Фамилию следует вводить в том
же виде (сочетание заглавных и строчных букв) в каком она имеет-
ся в базе данных. После определения корректируемой записи систе-
ма выводит на экран все данные об этом абитурьенте и позволяет их
отредактировать, последовательно распечатывая поля записи. Если
данные в текущем поле исправлять не требуется, следует нажать
клавишу <Enter>. После корректировки всех полей система предупре-
дит о необходимости сохранить вновь введенные данные и после на-
жатия любой клавиши выйдет в меню "Корректировка данных".
Пункт 2 меню "Корректировка данных" предназначен для до-
бавления новых записей. После входа в этот режим система последо-
вательно запрашивает данные о новом абитурьенте. По окончании
ввода выводится запрос, хочет ли пользователь продолжить процесс
ввода новых записей. При утвердительном ответе (нажатии клавиши Д
в верхнем регистре) программа предоставляет возможность ввести
данные еще об одном абитурьенте, после чего процесс повторится.
При отрицательном ответе (нажатии клавиши Н (рус.) на верхнем ре-
гистре) будет выдано предупреждение о необходимости сохранить
вновь введенные данные и после нажатия любой клавиши выйдет в ме-
ню "Корректировка данных".
Пункт 3 служит для выхода в основное меню.
Данный режим служит для удаления записей из базы данных.
Как и в подпункте "Изменение данных" режима "Корректировка дан-
ных" пользователю предоставляется возможность ввести либо номер,
либо фамилию удаляемого абитурьента. После ввода этих данных
произойдет удаление выбранной записи и вывод сообщения, подтвер-
ждающего выполнение данной операции. В случае невозможности уда-
ления записи (например запись с данным номером не существует),
выдается соответствующее сообщение об ошибке.
Данный режим предназначен для просмотра содержимого имею-
щихся баз данных. При входе в этот режим выводится следующее под-
меню:
1 - Просмотр основной базы
2 - Просмотр базы BSTUD
3 - Выход в главное меню
Пункт 1 предназначен для просмотра основной базы данных,
содержимое которой подгружается автоматически (при наличии на
диске файла bit.dat) при запуске информационно-справочной систе-
мы. После выбора этого пункта, на экран выводятся записи основ-
ной БД в виде таблицы. Для возвращения в меню следует нажать лю-
бую клавишу.
Пункт 2 предназначен для просмотра дочерней базы данных
BSTUD. В отличии от основной БД сразу после загрузки она пуста, и
чтобы ее просмотреть следует создать эту БД с помощью пункта 6
или загрузить ее с диска с помощью пункта 4 основного меню. Дан-
ные дочерней базы представляются также в виде таблицы.
Пункт 3 служит для выхода в главное меню.
Данный режим предназначен для загрузки баз данных из фай-
лов. При входе в этот пункт выводится меню:
1 - Загрузить основную базу из выбранного файла
2 - Загрузить основную базу из файла bit.dat
3 - Загрузить базу BSTUD из выбранного файла
4 - Загрузить базу BSTUD из файла bstud.dat
5 - Выход в основное меню
При выборе пунктов 2 и 4 произойдет загрузка соответствен-
но основной и дочерней БД из стандартных файлов bit.dat или
bstud.dat, в случае удачной загрузки будет выдано соответствую-
щее сообщение. После нажатия на любую клавишу произойдет выход в
главное меню.
При выборе пунктов 1 и 3 система запросит имя файла, в ко-
тором содержится соответствующая БД. При успешной загрузке поя-
вится соответствующее сообщение, при сбое появится сообщение об
ошибке.
Пункт 5 предназначен для выхода в главное меню.
Данный режим предназначен для сохранения баз данных. При
входе в данный режим выводится следующее меню:
1 - Сохранить основную базу в указанном файле
2 - Сохранить основную базу в файле bit.dat
3 - Сохранить базу BSTUD в указанном файле
4 - Сохранить базу BSTUD в файле bstud.dat
5 - Выход в основное меню
Работа с его пунктами полностью аналогична работе с подме-
ню режима "Загрузка базы".
Данный режим предназначен для создания дочерней базы дан-
ных. При запуске этого режима дочерняя БД создается автоматичес-
ки, о чем выводится соответствующее сообщение и предупреждение о
необходимости сохранения дочерней БД. После нажатия любой клави-
ши происходит выход в главное меню.
Этот пункт меню предназначен для выхода из информацион-
но-справочной системы в ДОС.
В целях конечной отладки программы и устранения скрытых
ошибок было решено несколько контрольных примеров по работе с
системой во всех режимах. Была создана и отредактирована основ-
ная база данных. с ее помощью были опробованы режимы удаления,
корректировки, создания новой БД, загрузки и сохранения БД. При
решении контрольных примеров ошибок в программе не обнаружено.
В данной курсовой работе были исследованы возможности
языка программирования Пролог для создания информационно-справоч-
ных систем. Можно сделать вывод, что Пролог представляет богатые
возможности для реализации таких систем и написания дружественно-
го интерфейса для общения пользователя с программой.
И.Братко "Программирование на языке Пролог для
искусственного интеллекта"
Дж.Доорс "Пролог - язык программирования будущего"
Ю.Тихонов "МПролог - язык логического
программирования. Версия 2.3"
___