Главная Учебники - Разные Лекции (разные) - часть 32
|
Задание
№ 11
на курсовое
проектирование
по дисциплине
“Логическое
программирование”
студенту
Пакостиной
Александре
Викторовне.
Группа ИР-1-95. Тема
исследования:
“Разработка
информационно
- справочной
системы”. Исходные
данные:
База данных
BD,
включающая
записи вида: Характеристика
детали Место
хранения
Название Цена Дата
поступления артикула № цеха
№склада детали руб коп год месяц число
Язык
программирования:
Пролог. Перечень
вопросов, подлежащих
разработке: Разработать
меню, обеспечивающее
взаимодействие
пользователя
с системой, в
соответствии
с заданием,
предусмотрев
режимы: Разработать
процедуры: уничтожения
записей по
признакам; загрузки; сохранения; просмотра; уничтожения;
3.3.
Предусмотреть
создание из
базы BD
новых баз данных
B1,
B2,
характеризуемых
признаками,
задаваемыми
пользователем. Перечень
графических
материалов: Структурная
схема программы:
Календарный
план работы
над курсовой
работой: Получение
задания: 4.10.96. Анализ
задания, постановка
задачи, подбор
и изучение
литературы:
18.10.96. Разработка
меню и структуры
программы:
25.10.96. Разработка
процедур
информационно-справочной
системы: 15.11.96. Отладка
программы:
29.11.96. Оформление
пояснительной
записки и сдача
работы на правку:
13.12.96. Защита
курсовой работы:
20.12.96.
Руководитель:
Холкин И.И.
____________
Студент:
Пакостина А.В.
____________
Описание Понятие
об информационно-справочных
системах и их
программная
реализация. Базы
данных и способы
их представления. Разработка
системного
меню. ¦
Выберите вариант
работы с базами
данных: ¦ ¦
¦ ¦
1 :- Загрузить
¦ ¦
2 :- Сохранить
¦ ¦
3 :- Просмотреть
¦ ¦
4 :- Скорректировать
¦ ¦
5 :- Удалить запись
по признакам
¦ ¦
6 :- Создать по
признакам
¦ ¦
7 :- Добавить
¦ ¦
8 :- Выход в ДОС
¦ ¦
¦ ¦
------------------| |------------------ ¦ +--------------------------------------------+ Разработка
структуры
программы. Разработка
процедур: Загрузка
базы данных
(Open). ¦
Куда загрузить
? ¦ ¦
¦ ¦
1 :- В bd ¦ ¦
2 :- В b1 ¦ ¦
3 :- В b2 ¦ ¦
4 :- Меню ¦ ¦
¦ ¦
------| |------ ¦ +----------------------------+ Сохранение
(Store). +---------
Сохранить
--------+ ¦
Что сохранить
? ¦ ¦
¦ ¦
1 :- bd ¦ ¦
2 :- b1 ¦ ¦
3 :- b2 ¦ ¦
4 :- Меню ¦ ¦
¦ ¦
------| |------ ¦ +----------------------------+ Просмотр
(See). +--------
Просмотреть
-------+ ¦
Что просмотреть
? ¦ ¦
¦ ¦
1 :- bd ¦ ¦
2 :- b1 ¦ ¦
3 :- b2 ¦ ¦
4 :- Меню ¦ ¦
¦ ¦
------| |------ ¦ +----------------------------+ Добавление
(Adding). Корректировка
(Correct). Создания
базы по признакам
(Indication). Удаление
записи по признакам
(Del).
6.
Листинг.
%
%
%
Пакостина
Александра.
%
%
ИР-1-95.
%
%
Задание 11.
%
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
domains
artikul
= integer
cex,
sklad = integer
name
= string
rubley,
kopeek = integer
year,
month, day = integer
placedom
= place(cex, sklad)
pricedom
= price(rubley, kopeek)
datedom
= date(year, month, day)
database
- bd
characteristick(artikul,
placedom, name, pricedom, datedom)
database
- b1
table1(artikul,
placedom, name, pricedom, datedom)
database
- b2
table2(artikul,
placedom, name, pricedom, datedom)
predicates
windows
go
do(char)
open(char)
store(char)
adding
correct(char)
indication(char)
indicationB1(char)
indicationB2(char)
see(char)
del(char)
exists(string)
show(artikul,
placedom, name, pricedom, datedom)
get(artikul,
placedom, name, pricedom, datedom)
goal
windows,
go.
clauses
characteristick(1,place(5,6),"Gayka",price(0,45),date(1996,1,4)).
characteristick(2,place(6,7),"Vint",price(0,65),date(1996,2,45)).
windows
:-
makewindow(1,52,0,"",24,0,1,80),
write("
Пакостина
Александра."),
makewindow(2,52,0,"",0,0,1,80),
write("
Система
управления
базой данных
\"Характеристика
детали\""),
makewindow(3,112,1,"
Системное меню
",2,17,14,46),
nl,
write(" Выберите
вариант работы
с базами данных:"),
nl,
nl,
write(" 1 :- Загрузить"),
nl,
write(" 2 :- Сохранить"),
nl,
write(" 3 :- Просмотреть"),
nl,
write(" 4 :- Скорректировать"),
nl,
write(" 5 :- Удалить
запись по
признакам"),
nl,
write(" 6 :- Создать
по признакам"),
nl,
write(" 7 :- Добавить"),
nl,
write(" 8 :- Выход в
ДОС"), nl,
nl,
write(" ------------------| |------------------"),
framewindow(126).
go
:-
gotowindow(3),
cursor(11,21),
readchar(X),
do(X).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
do('1')
:-
makewindow(4,18,1,"
Загрузить
",5,25,10,30),
framewindow(19),
nl,
write(" Куда загрузить
?"), nl,
nl,
write(" 1 :- В bd"),
nl,
write(" 2 :- В b1"),
nl,
write(" 3 :- В b2"),
nl,
write(" 4 :- Меню"), nl,
nl,
write(" ------| |------"),
cursor(7,13),
readchar(X), open(X),
removewindow,
go, !.
do('2')
:-
makewindow(4,18,1,"
Сохранить
",5,25,10,30),
framewindow(19),
nl,
write(" Что сохранить
?"), nl,
nl,
write(" 1 :- bd"),
nl,
write(" 2 :- b1"),
nl,
write(" 3 :- b2"),
nl,
write(" 4 :- Меню"), nl,
nl,
write(" ------| |------"),
cursor(7,13),
readchar(X), store(X),
removewindow,
go, !.
do('3')
:-
makewindow(4,18,1,"
Просмотреть
",5,25,10,30),
framewindow(19),
write("
Что просмотреть
?"), nl,
nl,
write(" 1 :- bd"),
nl,
write(" 2 :- b1"),
nl,
write(" 3 :- b2"),
nl,
write(" 4 :- Меню"), nl,
nl,
write(" ------| |------"),
cursor(7,13),
readchar(X), see(X),
removewindow,
go, !.
do('4')
:-
makewindow(4,18,1,"
Корректировка
",5,25,9,30),
framewindow(19),
write("
Способ нахождения
записи: "), nl,
nl,
write(" 1 :- по номеру
артикула"),
nl,
write(" 2 :- по названию"),
nl,
write(" 3 :- Меню"), nl,
nl,
write(" ------| |------"),
cursor(6,13),
readchar(X), correct(X),
removewindow,
go, !.
do('5')
:-
makewindow(4,18,1,"
Удаление записи
по признаку
",5,25,10,30),
framewindow(19),
write("
Введите признак:"),
nl,
nl,
write(" 1 :- По артикулу"),
nl,
write(" 2 :- По названию"),
nl,
write(" 3 :- Удалить
всю базу"),
nl,
write(" 4 :- Меню"), nl,
nl,
write(" ------| |------"),
cursor(7,13),
readchar(X), del(X),
removewindow,
go, !.
do('6')
:-
makewindow(4,18,1,"
Создать базу
по признаку
",5,25,9,30),
framewindow(19),
write("
Какую базу
создать ?"), nl,
nl,
write(" 1 :- B1"),
nl,
write(" 2 :- B2"),
nl,
write(" 3 :- Меню"), nl,
nl,
write(" ------| |------"),
cursor(6,13),
readchar(X), indication(X),
removewindow,
go, !.
do('7')
:-
makewindow(4,18,1,"
Добавить запись
к главной базе
",7,10,13,60),
framewindow(19),
adding,
removewindow,
go, !.
do('8')
:-
makewindow(4,95,1,"Запрос",10,29,5,22),
nl,
framewindow(94),
write("
Выйти ? (Yes/No)"), readchar(X),
X='y',
exit;
removewindow,
go, !.
do(_)
:-
makewindow(4,76,1,"Ошибка",8,29,5,22),
framewindow(75),
nl,
write("
Выберите из
меню"), readchar(_),
removewindow,
go.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
open('1')
:-
makewindow(5,95,1,"Загрузка
bd",7,20,10,40),
framewindow(94),
nl,
write("
Имя файла : "),
readln(FN),
exists(FN),
consult(FN, bd),
nl,
write(" Загружено"),
readchar(_), removewindow, !.
open('2')
:-
makewindow(5,95,1,"Загрузка
b1",7,20,10,40),
framewindow(94),
nl,
write("
Имя файла : "),
readln(FN),
exists(FN),
consult(FN, b1),
nl,
write(" Загружено"),
readchar(_), removewindow, !.
open('3')
:-
makewindow(5,95,1,"Загрузка
b2",7,20,10,40),
framewindow(94),
nl,
write("
Имя файла : "),
readln(FN),
exists(FN),
consult(FN, b2),
nl,
write(" Загружено"),
readchar(_), removewindow, !.
open('4')
:-
!.
open(_)
:-
makewindow(5,76,1,"Ошибка",8,29,5,22),
framewindow(75),
nl,
write("
Выберите из
меню"), readchar(_),
removewindow,
removewindow, do('1').
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
store('1')
:-
makewindow(5,95,1,"Сохранение
bd",7,20,10,40),
framewindow(94),
nl,
write("
Имя файла : "),
readln(FN), save(FN, bd),
nl,
write(" Сохранено"),
readchar(_), removewindow, !.
store('2')
:-
makewindow(5,95,1,"Сохранение
b1",7,20,10,40),
framewindow(94),
nl,
write("
Имя файла : "),
readln(FN),
save(FN, b1),
nl,
write(" Сохранено"),
readchar(_), removewindow, !.
store('3')
:-
makewindow(5,95,1,"Сохранение
b2",7,20,10,40),
framewindow(94),
nl,
write("
Имя файла : "),
readln(FN),
save(FN, b2),
nl,
write(" Сохранено"),
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||