Разработка информационно-справочной системы

Скачать реферат: Разработка информационно-справочной системы

Содержание реферата

Введение

1. Понятие об информационных системах и их программной реализации

2. База данных и способы ее представления

3. Разработка системного меню

   3.1. Разработка структуры программы

4. Разработка процедур:

   4.1 Процедура ввода новых данных Rabota(7)

   4.2 Процедура просмотра и добавления данных

   4.3 Выхода из программы Rabota(9)

   4.4 Процедуры выбора Сhoice1

   4.5 Процедур Sbros и Sbros1

   4.6 Загрузки БД с диска Loadbase

   4.7 Сохранения БД на диске Savebase

   4.8 Процедура Cjrrect(j,i).

Список литературы

Введение

Данная курсовая написана на языке Пролог в среде  Turbo Prolog  v 2.0 (русифицированная версия).  В структуре языка заложены возможности простой и чрезвычайно эффективной работы с базами данных,  что позволяет  на его основе создавать различного рода информационно - справочные системы.  Структура языка Пролог соответствует структуре реляционных баз данных.  Так отношению в РБД соответствует предикат в Прологе, элементу - факт, атрибуту отношения - аргумент предиката и т.д. Встроенные в Пролог предикаты работы с окнами позволяют создать дружественный интерфейс для работы пользователя  с  информационно  -  справочной системой.

1. Понятие об информационных системах и их программной реализации

Информационно-справочные системы - это программы-оболочки, служащие для управления массивами и  базами  данных.  В  наш  век  всеобщей компьютеризации информационно-справочные системы значительно облегчают труд человека во всех отраслях народного хозяйства. Значительно упростилась  работа  московской  милиции по обнаружению угнанного транспорта после создания в Москве компьютерных баз данных по  угнанным  автомобилям.  Бухгалтерам  предприятий  и фирм теперь не нужно перебирать горы бумаг,  чтобы получить все данные о сотруднике:  достаточно  загрузить информационно-справочную  систему и она в удобной форме выдаст всю не обходимую информацию.

Области применения информационно-справочных систем воистину безграничны: это ведение статистики удоя скота на ферме, составление ката логов книг в библиотеках и произведений искусства в музеях,  сбор данных о наличии рабочих вакансий в данном регионе и многие другие.

Одним из  способов программной реализации информационно-справочной системы является использование для ее создания языка логического программирования  Пролог. 

В  данной реализации языка содержится множество встроенных предикатов, существенно облегчающих написание таких систем.

2. База данных и способы ее представления

База данных в простейшем случае - упорядоченная структура  данных в  виде  таблицы,  каждая  запись которой может объединять разнотипные данные,  причем все записи одной базы имеют одинаковую структуру.  Существуют три модели представления баз данных: иерархическая, сетевая и реляционная.  В силу особенностей языка Пролог, с его помощью реализуется  реляционная модель.  Каждая строка в базе данных называется элементом отношения,  каждая колонка - атрибутом  отношения,  количество колонок - арностью,  а количество строк - мощностью. В языке программирования Пролог атрибуту отношения соответствует аргумент  предиката, арности  -  количество аргументов в предикате,  отношению - предикат, элементу - факт, и мощности - число фактов.

Исходя из  вышеперечисленных соответствий Пролог является прекрасным средством для реализации реляционных баз данных.

3. Разработка системного меню

3.1. Разработка структуры программы

Все режимы программы активизируются с помощью меню,  которое реализовано с помощью процедуры mainmenu. Для активизации какого либо ре жима пользователю следует  нажать  цифровую  клавишу,  соответствующую выбранному пункту меню.

Меню данной программы состоит из девяти пунктов:

     0 - О пpогpамме...       - вывод данных о системе
     1 - коррекция данных     - режим корректировки данных
     2 - удаление данных      - режим удаления данных
     3 - просмотр базы        - режим просмотра базы
     4 - загрузка базы        - режим загрузки базы
     5 - сохранение базы      - режим сохранения базы
     6 - создание новой базы  - режим создания новой базы
     7 - ввод новых данных    - выход из программы
     8 - просмотр-добавление  - просмотр и добавление данных
     9 - выход из программы   - выход

На следующей странице представлена графическая структура меню.

4. Разработка процедур:

Процедуры создавались на основе требований,  изложенных в задании к курсовой работе.

С помощью процедуры Nachalo разделе GOAL инициируется начало  выполнения  программы.  Эта процедура запускает процедуру начальной загрузки базы данных Zagruz ,  после чего передает  управление  процедуре вывода главного меню Mainmenu.

Эта процедура  выводит  список пунктов главного меню и ожидает от пользователя ввода числа, которое будет занесено в переменную C. После этого вызывается процедура обработки основных режимов Rabota , в которую переменная C передается в качестве аргумента.  В процедуре использован предикат Povtor,  в связи с этим после возврата из процедуры Rabota в случае,  если C не равно 7 происходит повторный  вывод  пунктов
меню и ожидание ввода числа.

Процедура Zagruz предназначена для автоматической загрузки основ ной базы данных при запуске программы. Это значительно облегчает работу с системой,  так как не требуется при запуске программы  загружать основную БД из режима "Загрузка". Процедура Zagruz проверяет существование на диске файла avto.dat с помощью встроенного предиката existfile и загружает БД в память с помощью предиката consult.  В случае отсутствия файла выдается сообщение об ошибке.

Данная процедура выводит информацию о языке,  на котором написана система и данные о создателе.

Процедура Rabota (1) служит коррекции данных, находящихся в БД, и  внесения новых записей. При активизации процедура запрашивает номер записи и если таковая существует выводит ее значения после  чего  просит ввести  новые  значения. Если же запись с таковым номером не существует то процедура выводит сообщение об этом просит повторить  номер  записи после чего осуществляется ввод новых данных.

Данная процедура предназначена для удаления записей из базы  данных.  Удалять можно данные по любому признаку ( для этого используется предикат Choice1. После выбора признака все записи содержащие его удаляются с помощью встроенного предиката Retract.

Процедура Rabota (3) выводит содержание базы данных в виде таблицы.

Данная процедура выводит меню,  содержащее следующие пункты: "База будет загружена из указанного файла",  " База будет загружена из файла avto.dat", " Выход в основное меню". Загрузка баз данных осуществляет ся процедурой Loadbase,  аргументом которой служит переменная C,  считанная с клавиатуры при вводе пользователем  номера  желаемого  пункта меню.

Процедура Rabota  (5)  аналогична Rabota (4).  Для сохранения баз данных применяется процедура Savebase,  рассмотренная ниже, аргументом которой является переменная I.

Данная процедура служит для создания новых баз данных.  Процедура работает следующим образом: выводится меню выбора признака по которому будет создана новая БД :

           1 - По марке автомобиля
           2 - По году выпуска
           3 - По району учета
           4 - Выход в основное меню
           =>

Выбор делается вводом соответствующей цифры после  чего  процедура передает  управление  процедуре  Rabota1(N)  где  N - номер выбранного пункта. Процедура Rabota1 будет рассмотрена ниже.

4.1  Процедура ввода новых данных Rabota(7)

Процедура предназначена для ввода новых данных в базу. После ее за пуска происходит последовательный запрос каждого следующего поля запи си.  После введения всех полей записи происходит возврат к  основному меню.

4.2  Процедура просмотра и добавления данных

Данная процедура  запрашивает  номер  записи и если находит в базе запись с таковым номером то выводит ее значения  после  нажатия  любой клавиши происходит возврат к основному меню.

Если же записи с данным номером нет в базе  то  процедура  просит повторить ввод номера и после этого производится последовательный ввод данных.

4.3 Выхода из программы Rabota(9)

Данная процедура состоит из отсечения,  которое запрещает дальнейший перебор.  Процедура оканчивается успехом и  происходит  возврат  в процедуру Mainmenu,  в которой выполняется условие C=7, благодаря чему происходит выход из программы.

4.4 Процедуры выбора Сhoice1

Эта процедура определяет номер желаемой записи после ввода пользователем  либо собственно номера этой записи,  либо после ввода фамилии другого поля меню и возвращает этот номер в вызывавшую процедуру.

4.5 Процедур Sbros и Sbros1

Процедуры Sbros  и  Sbros1  являются  вспомогательными к процедуре Correct(1).  Они позволяют определить,  следует ли замещать  имеющийся элемент записи на новый или нет (если была нажата клавиша <Enter>).  В процедурах проверяется,  является ли первый аргумент  пустой  строкой.

Если это так,  то третьему аргумент присваивается второй. Если же пер вый аргумент не является пустой строкой,  то он присваивается третьему аргументу  (в Sbros1 происходит предварительное преобразование строковой переменной в целочисленную).

4.6 Загрузки БД с диска Loadbase

 Данная процедура осуществляет загрузку баз данных из  файлов  на диске по признакам, зависящим от аргумента процедуры: Loadbase(1) загружает основную БД из файла, заданного пользователем, Loadbase(2) - из файла  avto.dat В данных процедурах проверяется наличие файла на диске с помощью предиката existfile и загрузка БД в память с помощью  преди ката consult.  В случае отсутствия файла на диске,  выдается соответствующее сообщение.

4.7 Сохранения БД на диске Savebase

Данная процедура осуществляет сохранение баз данных в  файлах  на
диске по признакам, зависящим от аргумента процедуры: Savebase(1) сох раняет основную БД в файле,  заданном пользователем,  Savebase(2) -  в
файле bit.dat. Сохранение БД осуществляется с помощью встроенного пре диката save. В случае ошибки выдается соответствующее сообщение .

4.8  Процедура Cjrrect(j,i).

Данная процедура обеспечивает ввод соответствующего поля записи.

Процедура Cjrrect(j,i) описана здесь

Программа "Технический паспорт автомобиля" представляет собой ин формационно-справочную систему. В данной программе имеется возможность создания  новых  баз данных,  являющихся списком записей отобранных по выбираемому пользователем признаку.  В основной БД присутствуют данные о  марке, годе выпуска, номере двигателя и шасси, номерном знаке, фамилии, имени и отчестве владельца, а также районе учета. В дочерней БД имеются те же данные но для одного конкретного признака, как-то марка автомобиля ,  год выпуска и район учета. Создание баз данных по остальным признакам  было  признано нецелесообразным т.к.  очень мала вероятность их совпадения.

        При запуске программы на экран выводится главное меню:

                         0 - О пpогpамме...
                         1 - коррекция данных
                         2 - удаление данных
                         3 - просмотр базы
                         4 - загрузка базы
                         5 - сохранение базы
                         6 - создание новой базы
                         7 - ввод новых данных
                         8 - просмотр-добавление
                         9 - выход из программы

Для выбора какого-либо пункта следует нажать соответствующую цифровую клавишу.

При выборе данного пункта на экран выводятся данные о  системе  и ее  авторе.  После нажатия на любую клавишу происходит выход в главное меню.
                           Выводится меню:

                      1 - известен номер записи
                      2 - известна МАРКА
                      3 - известен ГОД ВЫПУСКА
                      4 - известен N ДВИГАТЕЛЯ
                      5 - известен N ШАССИ
                      6 - известен НОМЕРНОЙ ЗНАК
                      7 - известна ФАМИЛИЯ
                      8 - известно ИМЯ
                      9 - известно ОТЧЕСТВО
                      10- известен РАЙОН УЧЕТА



Следует ввести цифру соответствующего пункта. После этого система запросит  соответственно номер и т.д.  Данные следует вводить в том же виде в каком они имеются в базе данных (такое же сочетание строчных  и заглавных букв). После определения корректируемой записи система выводит на экран все данные об этом автомобиле и позволяет их отредактировать,  последовательно распечатывая поля записи. Если данные в текущем поле исправлять не требуется, следует нажать клавишу <Enter>.

Данный режим служит для удаления записей из базы данных.  Как и в подпункте "Крректировка данных" пользователю  предоставляется  возможность ввести необходимое поле записи. После ввода этих данных произойдет удаление выбранной записи.

Данный режим предназначен для просмотра содержимого имеющихся баз данных. На экран выводится таблица всех записей текущей базы.

Данный режим  предназначен для загрузки баз данных из файлов.  При входе в этот пункт выводится меню:

          1 - База будет загружена из указанного файла
          2 - База будет загружена из файла avto.dat
          3 - Выход в основное меню

При выборе пунктов 1 и 2 произойдет загрузка  соответственно  основной  и  дочерней  БД  из стандартного файла avto.dat или указанного пользователем файла,  в случае удачной загрузки будет выдано соответствующее  сообщение.  После нажатия на любую клавишу произойдет выход в главное меню.

Пункт 3 предназначен для  выхода в главное меню.

Данный режим предназначен для сохранения баз данных.  При входе в данный режим выводится следующее меню:

          1 - База будет записана в указанный файл
          2 - База будет записана в файл avto.dat
          3 - Выход в основное меню

Работа с его пунктами полностью аналогична работе с подменю режима "Загрузка базы".

Данный режим предназначен для создания дочерних баз  данных.  При запуске этого режима выводится меню:

           1 - По марке автомобиля
           2 - По году выпуска
           3 - По району учета
           4 - Выход в основное меню

Вводом соответствующей цифры производится выбор нужного параметра для создания новой базы. После чего производится  его  ввод. Новые  базы сохраняются  автоматически  соответственно  в  файлах avto1.dat ,  av to2.dat ,  avto3.dat и содержат все записи имеющие одинаковый заданный параметр.

Пункт 4 производит возвращение к основному меню.

Этот пункт меню предназначен для выхода из  информационно-справочной системы в ДОС.

В целях конечной отладки программы и устранения скрытых ошибок было решено несколько контрольных примеров по работе с системой во  всех режимах. Была создана и отредактирована основная база данных. с ее по мощью были опробованы режимы удаления,  корректировки,  создания новой БД,  загрузки и сохранения БД. При решении контрольных примеров ошибок в программе не обнаружено.

В данной  курсовой работе были исследованы возможности языка программирования Пролог для создания информационно-справочных систем. Можно сделать вывод, что Пролог представляет богатые возможности для реализации таких систем и написания дружественного интерфейса для общения пользователя с программой.

ЛИТЕРАТУРА:

1. И.Братко   "Программирование на языке Пролог для искусственного интеллекта"

2. Дж.Доорс   "Пролог - язык программирования будущего"

3. Ю.Тихонов  "МПролог - язык логического программирования. Версия 2.3"