Читайте данную работу прямо на сайте или скачайте

Скачайте в формате документа WORD


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

Задание N П-

На курсовое проектирование по дисциплине

"Логическое программирование" студенту

Михайлову Александру гр. ИИ-1-95.

1. Тема:

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

2. Исходные данные:

Разработать информационно-справочную систему, обеспечивающую работу с базой данных Bit включающей записи вида:

╔════════════════════════════════════════════════════════════╗

║ ТОВАР НА СКЛАДЕ ║

╠═══╦═════════╦════════╦══════════╦══════════════════════════╣

║ ║ ║ ║ ║а поставщик ║

║ ║название ║ кол-во ║ требуемое╠═════╦════════╦═══════════╣

║No ║ товар ║ н ║ кол-во ║город║почтовый║а название ║

║ ║ ║ складе ║ ║ ║ индекс ║предприятия║

╚═══╩═════════╩════════╩══════════╩═════╩════════╩═══════════╝

Меню системы должно включать режимы корректировки, ничтожения просмотра, загрузки, сохранения.

Языка программирования Пролог.

3. Перечень вопросов, подлежащих разработке:

3.1 Разработка меню, обеспечивающее взаимодействие пользователя с системой, в соответствии с заданием, предусмотрев режимы:

- корректировки данных,

- ничтожения данных,

- просмотра базы,

- загрузки базы,

- сохранения базы,

- создания новой базы.

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

- корректировки данных,

- ничтожения данных,

- просмотра базы,

- загрузки базы,

- сохранения базы,

- создания новой базы.

4. Перечень графических материалов:

4.1 структурная схема меню

4.2 структурная схема программы.

5. Календарный план-график работы над курсовой работой:

1. Получение задания

4.10.96

2. Анализ задания, постановка задачи, подбора иа изучение

литературы

18.10.96

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

25.10.96

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

15.11.96

5. Отладка программы

29.11.96

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

24.12.96

7. Защита курсовой работы

25.12.96

Руководитель /Холкин И.И./

Студент / Михайлов А.., ИИ-1-95/

aСодержание

@стр.

Введение ....................................4

1. Понятие об информационных системах и их

программной реализации...................4

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

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

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

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

5.1 Основной процедуры Begin ............. 8

5.2 Вывода главного меню Main_menu ....... 8

5.3 Автоматической загрузки БД Autoload.. 9

5.4 Вывода информации о системе

Working(0) ........................... 9

5.5 Вывода меню корректировки Working(1). 9

5.6 даления записей Working(2) .......... 9

5.7 Вывода меню просмотра Working(3)..... 9

5.8 Вывода меню загрузки Working(4)..... 10

5.9 Вывода меню сохранения Working(5)... 10

5.10 Создания новой БД Working(6) ....... 10

5.11 Выхода из программы Working(7)..... 10

5.12 Обработки ошибки пользователя

Working(_) ......................... 10

5.13 Корректировки данных Correct(1).... 10

5.14 Добавления новых записей Correct(2). 11

5.15 Просмотра БД View .................. 11

5.16 Вспомагательной Accept ............. 11

5.17 Вспомагательных Skip и Skip1 ....... 11

5.18 Загрузки БД с диска Bd_load ........ 12

5.19 Сохранения БД на диске Bd_save..... 12

5.20 Вспомагательной Ask ................ 12

5.21 Mesage............................. 12

5.22 Error и Io_error ................... 12

5.23 Ok ................................. 12

6. Листинг программы ....................... 13

7. Отладка программы ....................... 24

8. Инструкция пользователя и решение

контрольных примеров: ................... 25

Заключение ................................. 28

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

@Введение

Данная курсовая написана на языке Пролог в среде Turbo Prolog

v 2.0 (русифицированная версия). В структуре языка заложены воз-

можности простой и черезвычайно эффективной работы с базамиа дан-

ных, что позволяет на его основе создавать различного рода инфор-

мационно - справочные системы. Структур язык Пролога соответ-

ствует структуре реляционных база данных. Така отношению ва РБД

соответствует предикат в Прологе, элементу - факт, атрибуту отно-

шения - аргумент предиката и т.д. Встроенные ва Пролога предикаты

работы с окнами позволяют создать дружественный интерфейс для ра-

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

@ 1. Понятие об информационно-справочных

@системах и @их программной реализации

Информационные системы - это системы, которые информируют

пользователя системы о той или иной сфере жизнедеятельности чело-

века. Например: информационная система "Зарплата по НИР", в кото-

рой содержится информация о сотрудникаха разныха кафедр, которые

ведут научные исследования.

Оболочка информационной системы -а это программа, которая

обеспечиваета добноеа взаимодействие пользователя и системы.

Пользователь, при помощи оболочки, может получить любую интере-

сующую его информацию.

Язык Пролог предостовляет довольно большие возможности для

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

доставляет такие средства как:

- загрузка базы данных системы с диск (стандартный предикат @consult);

- запись базы на диск (предикат @save);

- добавление ва базуа новыха данныха (предикаты @assertaа и

@assertz);

- даление данных из базы (предикат @retract) и др.

Сочитание всего этого позволяета создавать довольно мощные

информационные системы.

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

База данных в простейшем случае -а упорядоченная структура

данных в виде таблицы, каждая запись которойа можета объединять

разнотипные данные, причем все записи одной базы имеюта одинако-

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

иерархическая, сетевая и реляционная. В силуа особенностей языка

Пролог, с его помощью реализуется реляционная модель. Каждая

строка в базе данных называется элементом отношения, каждая ко-

лонка - атрибутом отношения, колличество колонока -а арностью, а

колличество строк - мощностью. Ва языке программирования Пролог

трибуту отношения соответствует аргумента предиката, арностиа -

колличество аргументов в предикате, отношению - предикат, элемен-

ту - факт, и мощности - число фактов. Исходя иза вышеперечислен-

ных соответствий Пролог является прекрасным средством для реали-

зации реляционных баз данных.

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

Все режимы программы активизируются с помощью меню, которое

реализовано с помощью процедуры patch. Для активизации какого ли-

бо режима пользователю следует нажать цифровую клавишу, соответ-

ствующую выбранному пункту меню.

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

0 - О пpогpамме... - вывод данных о системе

1 - коррекция данных - режим корректировки данных

2 - удаление данных - режим даления данных

3 - просмотр базы - режим просмотра базы

4 - загрузка базы - режим загрузки базы

5 - сохранение базы - режим сохранения базы

6 - создание новой базы - режим создания новой базы

7 - ввод новых данных - режим ввода новых данных

8 - просмотр-добавление - режим просмотра-добавления

9 - Выход из программы - выход из программы

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

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

AСтруктура программы "Товар на складе":

┌───────────────────┐

│ start │

├───────────────────┤

│основная процедура│

└─────────┬─────────┘

┌────────────────┴───────────────┐

┌───────┴─────────┐ ┌──────┴───────┐

│ load │ │ patch │

├─────────────────┤ ├──────────────┤

│ автозагрузка БД │ │ главное меню │

└─────────────────┘ └──────┬───────┘

┌───────┬────────┬────────┬───────┬──────┼───────┐

│ │ │ │ │ │

┌────┴─────┐ │ ┌──────┴──────┐ │ ┌─────┴────┐ │ ┌─────┴────┐

│process(0)│ │ │ process(1)а │ │ │process(2)│ │ │process(3)│

├──────────┤ │ ├─────────────┤ │ ├──────────┤ │ ├──────────┤

│Информация│ │ │Корректировка│ │ │ даление │ │ │ Просмотр │

│о програме│ │ данных │ │ данныха │ │ базы │

└──────────┘ │ └──────┬──────┘ │ └─────┬────┘ │ └──────────┘

┌─────────────┤ ┌┘ │ └┐ │

│ │ │ │ │ └─┐

│ ┌─────┴─────┐ ┌──────┴──────┐ │ ┌─────┴────┐

│ │ process(4)│ process(5) │ │ │process(6)│

│ ├───────────┤ ├─────────────┤ │ ├──────────┤

│ │ Процедура │ Процедур │ │ │ Создание │

│ │загрузки БД│ │ а│сохранения БД│ │ │ новой БД │

│ └─────┬─────┘ └──────┬──────┘ │ └─────┬────┘

│ │ │ │ │ │

│ ┌──────────┐└┐ │ │ │ │

│ │process(7)│ │ │ │ │ │

│ ├──────────┤ │ ┌────┴─────┐ ┌─────┴─────┐ │

├─┤Ввод новых│ │ selectа а selectа │ │

│ │ данных │ │ ├──────────┤ │───────────│ │

│ └──────────┘ │ Выбора а Выбор │ │

│ ┌──────────┐ │ │ признака а признака │ │

│ │process(8)│ │ └──────────┘ └───────────┘ └──────────┐

│ ├──────────┤ │ └─────────────────────────┐ │

└─┤ Просмотр-│ └───────┬───────────────┬───────────┐ │ │

│добавлениеа ┌─────┴──────┐а ┌─────┴────┐а ┌───┴────┐ │ │

└──────────┘ а lod(1) lod(2)а │ lod(3) │ │ │

├────────────┤а ├──────────┤а ├────────┤ │ │

загрузк │ загрузка │ Выхода │ │ │

│БД из файла │ из файла а в │ │ │

│пользователя │ kot.datа меню │ │ │

└────────────┘а └──────────┘а └────────┘ 1 2

1 │

│ │

┌───────────────┬───────────┬─────────────────┘ │

┌─────┴──────┐а ┌─────┴────┐а ┌───┴────┐ │

а lod(1) lod(2)а │ lod(3) │ │

├────────────┤а ├──────────┤а ├────────┤ │

загрузк │ загрузка │ Выхода │ │

│БД из файла │ из файла а в │ │

│пользователя │ kot.datа меню │ │

└────────────┘а └──────────┘а └────────┘ │

┌──────────────┬─────────────┬──────────────────────┘

┌──────┴─────┐ ┌──────┴─────┐ ┌─────┴──────┐

│procedure(1)│ │procedure(2)│ │procedure(3)│

├────────────┤ ├────────────┤ ├────────────┤

Создание │ Созданиеа │ Создание │

а Да по │ Да по │ Да по │

│наименованию│ │ требуемому │ данным │

а товар │ │ колличеству│ │ получателя │

└────────────┘ └────────────┘ └────────────┘

@5. Разработка процедур

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

дании к курсовой работе.

@ 5.1 Основная процедура Begin.

С помощью процедуры Begin в разделе GOAL инициируется нача-

ло выполнения программы. Эта процедур запускаета процедуруа на-

чальной загрузки базы данных Autoload, после чего передает прав-

ление процедуре вывода главного меню Main_menu.

@ 5.2 Процедура вывода главного меню Main_menu.

Эта процедура выводит список пунктов главного меню и ожи-

дает от пользователя ввода числа, которое будет занесено ва пере-

менную C. После этого вызывается процедура обработки основных ре-

жимов Working, в которую переменная C передается в качестве аргу-

мента. В процедуре использован предикат Repeat, ва связи са этим

после возврата из процедуры Working в случае, если C неа равно 7

происходит повторный вывод пунктов меню и ожидание ввода числа.

@5.3 Процедура автоматической загрузки БД Autoload.

Процедура Autoload предназначена для автоматической загруз-

ки основной базы данных при запуске программы. Это значительно

облегчает работу с системой, так кака не требуется при запуске

программы подгружать основную БД из режима "Загрузка". Процедура

Autoload проверяет существование на дискеа файл bit.datа са по-

мощью встроенного предиката existfile и подгружает БД в память с

помощью предиката consult. Ва случае отсутствия файл выдается

сообщение об ошибке.

@5.4 Процедура вывода информации о системе Working(0).

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

писана система и данные о создателе.

@5.5 Процедура вывода меню коррекции данных Working(1).

Процедура Working(1) служит для вывода меню режим коррек-

ции данных, находящихся в БД, и внесения новых записей. После ак-

тивизации процедура выводит меню в котором имеются режимы: "Изме-

нение данных", "Добавление данных" и "Выход в меню". Активизация

режимов происходит аналогично главномуа меню c помощью нажатия

соответствующей цифровой клавиши. Считанное са клавиатуры число

заносится ва переменную X, послеа чего вызывается процедура

Correct, аргументома которой служита X. Са помощью процедур

Correct(1) и Correct(2), описанных ниже, собственно иа реализует-

ся режимы коррекции и добавления. Ва процедуре Working(1)а также

применен предикат Repeat, с помощью которого реализована повтор-

ный вывод меню в случае ошибки ввода.

@5.6 Процедура даления записей Working(2).

Данная процедура предназначена для удаления записей иза базы

данных. В программе предусмотрена возможность задания либо номе-

ра даляемой записи, либо фамилии абитурьента, содержащейся в

данной записи. Эт возможность реализуется процедурой Accept,

описанной ниже. Процедура Accept возвращает номер выбранной запи-

си и с помощью встроенного предиката retract запись даляется из

базы данных. Ва случае ошибки (отсутствия записи, выбранной

пользователем для удаления) выводится соответствующее сообщение

(процедура Error).

@5.7 Процедура вывода меню просмотра БД Working(3).

Процедура Working(3) выводит меню, содержащее пункты: "Прос-

мотр основной базы", "Просмотр базы BSTUD" и "Выход в главное ме-

ню". Собственно просмотр содержимого Да осуществляюта процедуры

View(1) и View(2), рассмотренные ниже. Процедура Working(3)а реа-

лизована в стиле процедур Main_menu и Working(1)а c применением

процедуры Repeat.

@5.8 Процедура вывода меню загрузки БД Working(4).

Данная процедура выводит меню, содержащее следующие пункты:

"Загрузить основную базу из выбранного файла", " Загрузить основ-

ную базу из файла bit.dat", " Загрузить базу BSTUD иза выбранного

файла"," Загрузить базу BSTUD иза файл bstud.dat"а иа "Выхода в

главное меню". Собственно загрузка баз данных осуществляется про-

цедурой Load_bd, аргументом которой служит переменная C, считан-

ная с клавиатуры при вводе пользователем номера желаемого пункта

меню. В процедуре Working(4) также применена процедура Repeat.

@5.9 Процедура вывода меню сохранения БД Working(5).

Процедура Working(5) аналогична Working(4). Для сохранения

баз данных применяется процедура Save_bd, рассмотренная ниже, ар-

гументом которой является переменная I.

@5.10 Процедура создания новой БД Working(6).

Данная процедура служит для создания новой базы данных. Про-

цедура работает следующим образом: из базы, имеющейа меткуа "аби-

турьент", извлекаются нужные данные, производится суммирование

оценок за экзамены и новая запись с помощью предиката assertz до-

бавляется к базе с меткой "студент". Для того, чтобы были обрабо-

таны все записи, используется fail. После создания новойа Да вы-

дается соответствующее сообщение и предупреждениеа о том, чтобы

пользователь не забыл сохранить вновь созданую БД.

@5.11 Процедура выхода из программы Working(7).

Данная процедура состоита иза отсечения, котороеа запрещает

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

возврат в процедуру Main_menu, в которой выполняется словие C=7,

благодаря чему происходит выход из программы.

@5.12 Процедура обработки ошибки пользователя Working(_).

Процедура Working(_) выводит сообщение об ошибке ввод циф-

ры и подсказку о том, что следует ввести число от 0 до 7. Вывод

сообщения сопровождается подачей звукового сигнала, реализован-

ной с помощью встроенного предиката sound. После нажатия клавиши

происходит возврат в главное меню.

@5.13 Процедура корректировки данных Correct(1).

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

Имеется возможность выбрать запись для корректировки либо по но-

меру, либо по фамилии абитурьента. Данную возможность предостав-

ляет процедура Accept, описанная ниже, которая вызывается после

создания окна "Изменение данных". Процедура Acceptа передаета но-

мер выбранной записи в переменную N, после чего содержимоеа запи-

си распечатывается на экране. После этого пользователю предостав-

ляется возможность ввести измененные данные; еслиа нета необходи-

мости изменять какой-либо элемент, можно нажать клавишуа <Enter>.

Все данные, в том числе и числа, считываются в формате строк. Это

необходимо для осуществления возможности отказа от изменения эле-

мента нажатием клавиши <Enter>. Все считанныеа данные передаются

процедурам Skip (для строковых выходных данных) и Skip1 (для це-

лочисленных выходных данных). Эти процедуры в зависимости ота то-

го, был ли нажат клавиш <Enter>а возвращаюта ва процедуру

Correct(1) либо старое значение, либо новое, при чема процедура

Skip1 преобразует с помощь встроенного предиката str_intа строко-

вые данные в целочисленные. Старая запись даляется из базы дан-

ных предикатом retract, новая добавляется предикатома assertz.

По окончании выводится предупреждение о том, что следуета сохра-

нить вновь введенные данные(процедура Mesage).

@5.14 Процедура добавления новых записей Correct(2).

Процедура Correct(2) служит для добавления записей к БД.

Пользователь поочередно вводит каждый элемент записи, отвечая на

запросы системы. С помощью предиката assertz данные добавляются в

БД, после чего вызывается предиката Ask, формирующийа запроса на

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

будет получен утвердительный ответ, то благодаря процедуре Repeat

цикл ввода данных повторится, при получении отрицательного отве-

та система выдаст предупреждение о необходимости сохранения вновь

введенных данных (процедура Mesage) и произойдет возврат иза про-

цедуры Correct(2).

@5.15 Процедура просмотра баз данных View.

Данная процедура служит для вывода на экран содержимого ос-

новной ( View(1) ) и вновь созданной ( View(2) ) баз данных. Каж-

дая из процедур выводит заголовочную таблицу, после чего распеча-

тывает содержимое каждой записи. Для перебор всей Да применен

предикат fail. После вывода всех записей выводится просьб на-

жать любую клавишу для продолжения.

@5.16 Вспомагательная процедура Accept.

Данная процедур является вспомагательной к процедурам

Correct(1) и Working(2). Она в паре со вспомагательной процеду-

рой Acp определяет номер желаемой записи после ввод пользовате-

лем либо собственно номера этой записи, либо после ввод фамилии

битурьента (данные пункты присутствуют в меню, выводимома проце-

дурой Accept) и возвращает этот номер в вызывавшую процедуру.

@5.17 Вспомагательные процедуры Skip и Skip1.

Процедуры Skip и Skip1 являются вспомагательными к процеду-

ре Correct(1). Они позволяюта определить, следуета ли замещать

имеющийся элемент записи на новый или нет (если была нажат кла-

виша <Enter>). В процедурах проверяется, является ли первый аргу-

мент пустой строкой. Если это так, то третьему аргумента присваи-

вается второй. Если же первый аргумент не является пустой стро-

кой, то он присваивается третьему аргументу (ва Skip1а происходит

предварительное преобразование строковой переменной в целочислен-

ную).

@5.18 Процедура загрузки БД с диска Bd_load.

Данная процедура осуществляет загрузку баз данныха иза фай-

лов на диске по признакам, зависящима от аргумент процедуры:

Bd_load(1) загружает основную БД из файла, заданного пользовате-

лем, Bd_load(2) - из файла bit.dat, Bd_load(3) -а базуа BSTUDа из

файла, заданного пользователем и BD_load(4) - базу BSTUD иза фай-

ла bstud.dat. В данных процедурах проверяется наличие файл на

диске с помощью предиката existfile и загрузка БД в память c по-

мощью предиката consult. В случае отсутствия файла на диске, вы-

дается соответствующее сообщение (процедур Io_error).

@5.19 @Процедура сохранения БД на диске Bd_save.

Данная процедура осуществляет сохранение баз данных ва фай-

лах на диске по признакам, зависящима от аргумент процедуры:

Bd_save(1) сохраняет основную БД в файле, заданном пользователем,

Bd_save(2) - в файле bit.dat, Bd_save(3) - базуа BSTUDа ва файле,

заданнома пользователема и BD_save(4)а -а базуа BSTUDа в файле

bstud.dat. Сохранение Да осуществляется c помощью встроенного

предиката save. В случае ошибки выдается соответствующееа сообще-

ние (процедура Error).

@5.20 Вспомагательная процедура Ask.

Процедур Askа является вспомагательной к процедуре

Correct(2). Она запрашивает пользователя, желаета ли она продол-

жить ввод данных.

@5.21 Процедура Mesage.

Данная процедура выводита предупреждение о необходимости

сохранения вновь введенных данных.

@5.22 Процедуры Error и Io_error.

Эти процедуры выводят сообщения об ошибках.

@5.23 Процедура Ok.

Данная процедура выводит сообщение об успешнома выполнении

операции.

@6. Листинг программы.

@7. Отладка программы

Отладка программы происходила следующим образом:а расставля-

лись контрольные точки (с помощью стандартного предиката EXIT)а и

происходил запуск программы. После выполнения программы, до кон-

трольной точки, происходил выход из программы и можно было на эк-

ране просмотреть результаты работы той или иной процедуры (на на-

чальном этапе программа разрабатывалась без оконного интерфейса).

Если процедура работала неправильно, то изменялась часть процеду-

ры и производился повторный запуска программы. Некоторыеа ошибки

"ловил" сам Пролог в процессе выполнения программы.

Нескольео раз возникали ошибки из-з отсутствия отсечения

или стандартного предиката fail. Все ошибки были странены.

@8. Инструкция пользователя и решение контрольных примеров

Программа "Список абитурьентов" представляет собой инфор-

мационно-справочную систему. В данной программе имеется возмож-

ность создания новой базы данных, являющейся спискома зачисленных

студентов. В основной БД присутствуют данные о фамилии, имени и

отчестве абитурьента, его поле, номере экзаменационного лист и

оценках за три экзамена. В дочерней БД имеются теа же данные за

исключением пола и того, что оценки за экзамены заменены иха сум-

мой.

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

0 - О системе...

1 - Корректировка данных

2 - ничтожение данных

3 - Просмотр базы

4 - Загрузка базы

5 - Сохранение базы

6 - Создание новой базы

7 - Выход из программы

Для выбора какого-либо пункт следуета нажать соответ-

ствующую цифровую клавишу. Вход в каждый пункт сопровождается ко-

ротким звуковым сигналом. При нажатии неверной клавишиа н экран

выводится окно с сообщением об ошибке и подсказкой, ва какома ин-

тервале следует вводить число. Ниже приводится описание каждого

из пунктов.

@8.1 О системе...

При выборе данного пункта н экрана выводятся данные о

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

выход в главное меню.

@8.2 Корректировка данных.

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

1 - Изменение данных

2 - Добавление данных

3 - Выход в главное меню

Пункт 1 предназначен для изменения данных в записях. При

входе в него так же появляется подменю:

1 - Известен номер абитурьента

2 - Известна фамилия

Если известен номер абитурьента, то следует ввести цифру

1, если известна фамилия - цифру 2. После этого систем запросит

соответственно номер или фамилию. Фамилию следует вводить ва том

же виде (сочетание заглавных и строчных букв) в каком он имеет-

ся в базе данных. После определения корректируемой записиа систе-

ма выводит на экран все данные об этом абитурьенте и позволяет их

отредактировать, последовательно распечатывая поля записи. Если

данные в текущем поле исправлять не требуется, следуета нажать

клавишу <Enter>. После корректировки всех полей система предупре-

дит о необходимости сохранить вновь введенные данные и после на-

жатия любой клавиши выйдет в меню "Корректировка данных".

Пункт 2 меню "Корректировка данных" предназначен для до-

бавления новых записей. После входа в этот режим система последо-

вательно запрашивает данные о новома абитурьенте. По окончании

ввода выводится запрос, хочет ли пользователь продолжить процесс

ввода новых записей. При твердительном ответе (нажатии клавиши Д

в верхнем регистре) программ предоставляета возможность ввести

данные еще об одном абитурьенте, после чего процесса повторится.

При отрицательном ответе (нажатии клавиши Н (рус.) на верхнем ре-

гистре) будет выдано предупреждение о необходимости сохранить

вновь введенные данные и после нажатия любой клавиши выйдет в ме-

ню "Корректировка данных".

Пункт 3 служит для выхода в основное меню.

@8.3 ничтожение записей.

Данный режим служит для даления записей из базы данных.

Как и в подпункте "Изменение данных" режим "Корректировк дан-

ных" пользователю предоставляется возможность ввести либо номер,

либо фамилию удаляемого абитурьента. Послеа ввод этиха данных

произойдет удаление выбранной записи и вывод сообщения, подтвер-

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

ления записи (например запись с данныма номерома неа существует),

выдается соответствующее сообщение об ошибке.

@8.4 Просмотр базы.

Данный режим предназначен для просмотра содержимого имею-

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

меню:

1 - Просмотр основной базы

2 - Просмотр базы BSTUD

3 - Выход в главное меню

Пункт 1 предназначен для просмотра основной базы данных,

содержимое которой подгружается автоматически (приа наличии на

диске файла bit.dat) при запуске информационно-справочнойа систе-

мы. После выбора этого пункта, на экран выводятся записи основ-

ной БД в виде таблицы. Для возвращения в меню следует нажать лю-

бую клавишу.

Пункт 2 предназначен для просмотра дочерней базы данных

BSTUD. В отличии от основной БД сразу после загрузки она пуста, и

чтобы ее просмотреть следует создать эту БД c помощью пункт 6

или загрузить ее с диска с помощью пункта 4 основного меню. Дан-

ные дочерней базы представляются также в виде таблицы.

Пункта 3 служит для выхода в главное меню.

@8.5 Загрузка базы.

Данный режим предназначен для загрузки баз данных иза фай-

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

1 - Загрузить основную базу из выбранного файла

2 - Загрузить основную базу из файла bit.dat

3 - Загрузить базу BSTUD из выбранного файла

4 - Загрузить базу BSTUD из файла bstud.dat

5 - Выход в основное меню

При выборе пунктов 2 и 4 произойдет загрузка соответствен-

но основной и дочерней Да иза стандартныха файлова bit.datа или

bstud.dat, в случае дачной загрузки будета выдано соответствую-

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

главное меню.

При выборе пунктов 1 и 3 система запросит имя файла, в ко-

тором содержится соответствующая БД. При спешнойа загрузке поя-

вится соответствующее сообщение, при сбое появится сообщение об

ошибке.

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

@8.6 Сохранение базы.

Данный режим предназначен для сохранения база данных. При

входе в данный режим выводится следующее меню:

1 - Сохранить основную базу в указанном файле

2 - Сохранить основную базу в файле bit.dat

3 - Сохранить базу BSTUD в казанном файле

4 - Сохранить базу BSTUD в файле bstud.dat

5 - Выход в основное меню

Работ с его пунктами полностью аналогична работе с подме-

ню режима "Загрузка базы".

@8.7 Создание новой базы.

Данный режим предназначен для создания дочерней базы дан-

ных. При запуске этого режима дочерняя БД создается автоматичес-

ки, о чем выводится соответствующее сообщение и предупреждение о

необходимости сохранения дочерней БД. После нажатия любойа клави-

ши происходит выход в главное меню.

@8.8 Выход из программы.

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

но-справочной системы в ДОС.

@8.9 Решение контрольных примеров.

В целях конечной отладки программы и странения скрытых

ошибок было решено несколько контрольныха примерова по работеа с

системой во всех режимах. Была создана иа отредактирован основ-

ная база данных. с ее помощью были опробованы режимы удаления,

корректировки, создания новой БД, загрузки и сохранения БД. При

решении контрольных примеров ошибок в программе не обнаружено.

@Заключение

В данной курсовой работе были рассмотрены все поставленные

задачи и обсуждены общие принципы построения информационныха сис-

тем и их реализации на языке програмирования Пролог.

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

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

искусственного интеллекта"

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

.2


/
E

H
[1]A*.FRM*.MAC
<

Б[1]A*.FRM