Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лабораторная работа №4 - файл Отчет_4.doc


Лабораторная работа №4
скачать (7.2 kb.)

Доступные файлы (1):

Отчет_4.doc47kb.19.11.2008 22:19скачать


Отчет_4.doc

КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. А.Н.ТУПОЛЕВА.
Кафедра Прикладной Математики и Информатики им. Ю.В. Кожевникова


Лабораторная работа №4

по дисциплине

«Функциональное и логическое программирование».
Казань – 2008.
Лабораторная работа №4.

Работа с базами данных языка Пролог.

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

Создать внутреннюю базу данных «Библиотека», которая описывает связи Книга-Автор и Книга-Читатель-Срок_возврата.

Пользователю должны быть доступны действия:

  1. Добавление фактов обоих предикатов

  2. Редактирование фактов обоих предикатов

  3. Удаление фактов обоих предикатов

  4. Вывод на экран всех фактов

  5. Сохранение в файле

  6. Загрузка из файла



Листинг:

include "lab4.inc"
domains

Tday,Tmonth,TYear=INTEGER

TDate=date(TDay,TMonth,TYear)

TReader_Name,TTitleBook,TAuthor=STRING
facts

book_Author(TTitleBook,TAuthor)

book_reader_time(TTitleBook,TReader_Name,TDate)
predicates

repeat.

switch(INTEGER).

clauses

repeat.

repeat:-repeat.
switch(Case):-Case= '0',write("Пока!!!!!!"),nl,!.
switch(Case):-Case= '1',write("Введите название книги > "),readln(TitleBook),

write("Введите имя автора > "),readln(Author),

assert(book_Author(TitleBook,Author)),fail.

switch(Case):-Case= '2',write("Введите имя читателя > "),readln(Reader_Name),

write("Введите название книги > "),readln(TitleBook),

write("Введите день возврата > "),readint(Day),

write("Введите месяц возврата > "),readint(Month),

write("Введите год возврата > "),readint(Year),

assert(book_reader_time(TitleBook,Reader_Name,date(Day,Month,Year))),fail.

switch(Case):-Case= '3',write("Удаление книги"),nl,

write("Введите название книги > "),readln(TitleBook),

write("Введите имя автора > "),readln(Author),

retract(book_Author(TitleBook,Author)),nl,

write("Удаление прошло успешно"),fail.

switch(Case):-Case= '4',write("Удаление читателя"),nl,

write("Введите имя читателя > "),readln(Reader_Name),

write("Введите название книги > "),readln(TitleBook),

write("Введите день возврата > "),readint(Day),

write("Введите месяц возврата > "),readint(Month),

write("Введите год возврата > "),readint(Year),

retract(book_reader_time(TitleBook,Reader_Name,date(Day,Month,Year))),nl,

write("Удаление прошло успешно"),fail.

switch(Case):-Case= '5',write("Введите имя читателя > "),readln(Reader_Name),

write("Введите название книги > "),readln(TitleBook),

write("Введите день возврата > "),readint(Day),

write("Введите месяц возврата > "),readint(Month),

write("Введите год возврата > "),readint(Year),

retract(book_reader_time(TitleBook,Reader_Name,date(Day,Month,Year))),fail.

switch(Case):-Case= '5',write("Новые данные: "),

write("Введите имя читателя > "),readln(Reader_Name),

write("Введите название книги > "),readln(TitleBook),

write("Введите день возврата > "),readint(Day),

write("Введите месяц возврата > "),readint(Month),

write("Введите год возврата > "),readint(Year),

assert(book_reader_time(TitleBook,Reader_Name,date(Day,Month,Year))),fail.

switch(Case):-Case= '6',write("Введите название книги > "),readln(TitleBook),

write("Введите имя автора > "),readln(Author),

retract(book_Author(TitleBook,Author)),fail.

switch(Case):-Case= '6',write("Новые данные: "),

write("Введите название книги > "),readln(TitleBook),

write("Введите имя автора > "),readln(Author),

assert(book_Author(TitleBook,Author)),fail.

switch(Case):-Case= '8',save("C:\\db.txt"),write("Saved in file c:\\db.txt"),nl,fail.
switch(Case):-Case= '7',consult("C:\\db.txt"),write("Loaded from file c:\\db.txt"),nl,fail.

switch(Case):-Case= '9',write('\10'),

book_Author(TitleBook,Author),write("Название книги: ",TitleBook,". Автор: ",Author),nl,fail.

switch(Case):-Case= '9',write('\10'),

book_reader_time(TitleBook,Reader_Name,date(Day,Month,Year)),

write("Название книги: ",TitleBook,". Имя читателя: ",Reader_Name,"Дата возврата: ",Day,".",Month,".",Year),nl,fail.

goal

repeat,

write('\10',"1 - Добавить книгу",'\10',

"2 - Добавить читателя",'\10',

"3 - Удалить книгу",'\10',

"4 - Удалить читателя",'\10',

"5 - Редактировать читателя",'\10',

"6 - Редактировать название книги и имя автора",'\10',

"7 - Сохранить в файл",'\10',

"8 - Загрузить из файла",'\10',

"9 - Вывод на экран ",'\10',

"0 - Выход",'\10'),

readchar(X),nl,switch(X),!.


Скачать файл (7.2 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации