 |
ÍÀÓ×ÍÀß ÁÈÁËÈÎÒÅÊÀ - ÐÅÔÅÐÀÒÛ - Ðàçðàáîòêà èíôîðìàöèîííî ñïðàâî÷íîé ñèñòåìû Îâîùíàÿ áàçà
Ðàçðàáîòêà èíôîðìàöèîííî ñïðàâî÷íîé ñèñòåìû Îâîùíàÿ áàçà
CODE=12050
/* **************************
* ÊÓÐÑÎÂÀß ÐÀÁÎÒÀ *
* *
* Êîòîâà Âëàäèìèðà *
* *
**************************
*/
domains
z,i,n,n1,kol,tkol,tel,faks=integer
prod,adr,j=symbol
database
-svod1
svod1(n,j,kol,tkol,adr,tel,faks)
database
-lolo
lolo(n,prod,kol,i,adr,tel,faks)
database
-kuku
kuku(n,prod,kol,tkol,j,i,i)
database-svod
svod(n,prod,kol,tkol,adr,tel,faks)
predicates
start
patch
load
select(i)
sel(i,i)
process(i)
procedure(i)
sve(i)
lod(i)
repeat
goal
start.
clauses
/*Ïðîöåäóðà
ñîçäàíèÿ îñíîâíîãî ìåíþ è çàãðóçêè áàçû äàííûõ*/
start:-
makewindow(1,2,7,"ÎÂÎÙÍÀß ÁÀÇÀ",0,0,25,80),
clearwindow,
load,
patch.
/*Ïðîöåäóðà
óïðàâëåíèÿ îñíîâíûì ìåíþ*/
patch:-
repeat,
cursor(7,0),
write("
0 - Î ïpîãpàììå... "),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,
write("
9 - âûõîä èç ïðîãðàììû"),nl,
write(" =>"),
readint(Choice),
Choice >= 0,
Choice < 10,
clearwindow,
process(Choice),
clearwindow,
Choice = 9,
retractall(_),
removewindow.
/*Ïðîöåäóðà
ïîèñêà è çàãðóçêè ôàéëà ñîäåðæàùåãî áàçó äàííûõ*/
load:-
existfile("kot.dat"),
consult("kot.dat"),
cursor(1,2),
write("Áàçà çàãðóæåíà").
load:-
cursor(1,2),
write("Íåò áàçû íà äèñêå").
/*Ïpîöåäópà
ââîäà íîâûõ äàííûõ*/
process(7):-
makewindow(1,2,7,"Ââîä íîâûõ
äàííûõ",0,0,25,80),
nl,
write("Ââåäèòå ïîðÿäêîâûé íîìåð
:"),readint(K),nl,
write("Ââåäèòå íàèìåíîâàíèå òîâàðà
:"),readln(O),nl,
write("Ââåäèòå êîëè÷åñòâî íà ñêëàäå :"),readint(I),nl,
write("Ââåäèòå òðåáóåìîå êîëè÷åñòâî :"),readint(Y),nl,
write("Ââåäèòå àäðåñ ïîëó÷àòåëÿ
:"),readln(T),nl,
write("Ââåäèòå òåëåôîí ïîëó÷àòåëÿ
:"),readint(V),nl,
write("Ââåäèòå ôàêñ ïîëó÷àòåëÿ
:"),readint(A),nl,
N1=K,PROD1=O,KOL1=I,TKOL1=Y,ADR1=T,TEL1=V,FAKS1=A,
assertz(svod(N1,PROD1,KOL1,TKOL1,ADR1,TEL1,FAKS1)),
removewindow,
fail.
/*Ïðîöåäóðà
ïðîñìîòðà-äîáàâëåíèÿ*/
process(8):-
makewindow(1,2,7,"Ïðîñìîòð-äîáàâëåíèå",0,0,25,80),
nl,
write("Ââåäèòå íîìåð
çàïèñè:"),readint(A),nl,nl,
svod(N,PROD,KOL,TKOL,ADR,TEL,FAKS),
A=N,
write("Íîìåð çàïèñè :"),write(A),nl,
write("Íàèìåíîâàíèå òîâàðà :"),write(PROD),nl,
write("Êîëè÷åñòâî íà ñêëàäå :"),write(KOL),nl,
write("Òðåáóåìîå êîëè÷åñòâî
:"),write(TKOL),nl,
write("Àäðåñ ïîëó÷àòåëÿ :"),write(ADR),nl,
write("Òåëåôîí ïîëó÷àòåëÿ :"),write(TEL),nl,
write("Ôàêñ ïîëó÷àòåëÿ :"),nl,nl,nl,nl,nl,
write("Íàæìèòå íà ëþáóþ
êëàâèøó"),
readchar(_),
removewindow,
!.
process(8):-
write("Ýòîãî íîìåðà çàïèñè íåò â
áàçå."),
write("Ïîâòîðèòå ââåäåííûé íîìåð
çàïèñè è ïðîäîëæàéòå ââîä äàííûõ"),nl,nl,nl,
write("Ââåäèòå íîìåð:"),
readint(A),nl,
A=N1,
write("Ââåäèòå íàèìåíîâàíèå
òîâàðà :"),readln(F),nl,
write("Ââåäèòå êîëè÷åñòâî íà
ñêëàäå :"),readint(Y),nl,
write("Ââåäèòå òðåáóåìîå
êîëè÷åñòâî :"),readint(J),nl,
write("Ââåäèòå àäðåñ
ïîëó÷àòåëÿ :"),readln(G),nl,
write("Ââåäèòå òåëåôîí
ïîëó÷àòåëÿ :"),readint(E),nl,
write("Ââåäèòå ôàêñ
ïîëó÷àòåëÿ :"),readint(Z),nl,
PROD1=F,KOL1=Y,TKOL1=J,ADR1=G,TEL1=E,FAKS1=Z,
assertz(svod(N1,PROD1,KOL1,TKOL1,ADR1,TEL1,FAKS1)),
removewindow,
fail.
/*Ïpîöåäópà
âûâîäà äàííûõ î ïpîãpàììå*/
process(0):-
makewindow(1,2,7,"Î
ïpîãpàììå...",0,0,25,80),
write(" Èíôîpìàöèîííî-ñïpàâî÷íàÿ
ñèñòåìà"),nl,nl,
write(" îá îâîùíîé
áàçå "),nl,nl,
write(" ßçûê-TURBO-PROLOG
v.2.0. "),nl,nl,
write(" àâòîp:Êîòîâ
Â.Â. "),nl,nl,
write(" ÌÈÐÝÀ, ãp.ÈÒ-1-94 (ñ) 1995 ã. "),nl,nl,nl,nl,
write("Íàæìèòå íà ëþáóþ
êëàâèøó"),
readchar(_),
removewindow.
/*Ïðîöåäóðà
èçìåíåíèÿ ñîäåðæèìîãî çàïèñåé áàçû äàííûõ*/
process(1):-
makewindow(1,2,7,"Êîppåêöèÿ
äàííûõ",0,0,25,80),
nl,
select(N),
X=N,
svod(X,PROD,KOL,TKOL,ADR,TEL,FAKS),
write("Íîìåð çàïèñè :"),write(N),nl,
write("Íàèìåíîâàíèå òîâàðà
:"),write(PROD),nl,
write("Êîëè÷åñòâî òîâàðà íà ñêëàäå:"),write(KOL),nl,
write("Òðåáóåìîå êîëè÷åñòâî
:"),write(TKOL),nl,
write("Àäðåñ ïîëó÷àòåëÿ
:"),write(ADR),nl,
write("Òåëåôîí ïîëó÷àòåëÿ
:"),write(TEL),nl,
write("Ôàêñ ïîëó÷àòåëÿ
:"),write(FAKS),nl,
nl,
write("Ââåäèòå íàèìåíîâàíèå òîâàðà
:"),readln(PROD1),
write("Ââåäèòå êîëè÷åñòâî íà ñêëàäå :"),readint(KOL1),
write("Ââåäèòå òðåáóåìîå êîëè÷åñòâî :"),readint(TKOL1),
write("Ââåäèòå àäðåñ ïîëó÷àòåëÿ
:"),readln(ADR1),
write("Ââåäèòå òåëåôîí ïîëó÷àòåëÿ
:"),readint(TEL1),
write("Ââåäèòå ôàêñ ïîëó÷àòåëÿ
:"),readint(FAKS1),
X1=X,
retract(svod(X,PROD,KOL,TKOL,ADR,TEL,FAKS)),
assert(svod(X1,PROD1,KOL1,TKOL1,ADR1,TEL1,FAKS1)),
!,
removewindow.
/*Ïðîöåäóðà
óäàëåíèÿ çàïèñåé èç áàçû äàííûõ*/
process(2):-
makewindow(1,2,7,"Óäàëåíèå çàïèñåé",0,0,25,80),
nl,
select(N),
X=N,
svod(X,PROD,KOL,TKOL,ADR,TEL,FAKS),
retract(svod(X,PROD,KOL,TKOL,ADR,TEL,FAKS)),!,
removewindow.
/*Ïðîöåäóðà
ïðîñìîòðà ñîäåðæèìîãî áàçû äàííûõ*/
process(3):-
makewindow(1,2,7,"Ïðîñìîòp
áàçû",0,0,25,80),
nl,
write("____________________________________________________________________________!"),
write("
ÎÂÎÙÍÀß ÁÀÇÀ
"),
nl,
write("----------------------------------------------------------------------------!"),
nl,
write("!íîìåð!íàçâàíèå!êîë íà!òðåá
! ïîëó÷àòåëü !"),
nl,
write("! ! òàâàðà
!ñêëàäå!êîë-âî! àäðåñ ! òåëåôîí ! ôàêñ !"),
nl,
write("-----------------------------------------------------------------------------"),
nl,
svod(N,PROD,KOL,TKOL,ADR,TEL,FAKS),
cursor(Z,_),
cursor(Z,0),write(N),
cursor(Z,7),write(PROD),
cursor(Z,18),write(KOL),
cursor(Z,23),write(TKOL),
cursor(Z,33),write(ADR),
cursor(Z,55),write(TEL),
cursor(Z,67),write(FAKS),
cursor(Z,77),write("!"),
nl,
fail.
process(3):-
write("-----------------------------------------------------------------------------"),
nl,
write("Íàæìèòå íà ëþáóþ êëàâèøó"),
readchar(_),
removewindow.
/*Ïðîöåäóðà
çàãðóçêè â ïàìÿòü áàçû äàííûõ*/
process(4):-
nl,
makewindow(2,15,4,"Çàãðóçêà",5,5,20,70),
write("1 - Áàçà áóäåò
çàãðóæåíà èç óêàçàííîãî ôàéëà"),nl,
write("2 - Áàçà áóäåò
çàãðóæåíà èç ôàéëà kot.dat"),nl,
write("3 - Âûõîä â îñíîâíîå
ìåíþ"),nl,
write("==>"),
readint(C),
C>0,C<4,
lod(C),
!,
removewindow.
/*Ïðîöåäóðà
ñîõðàíåíèÿ áàçû äàííûõ*/
process(5):-
nl,
makewindow(2,15,4,"Çàïèñü",5,5,20,70),
write("1 - Áàçà áóäåò
çàïèñàíà â óêàçàííûé ôàéë"),nl,
write("2 - Áàçà áóäåò
çàïèñàíà â ôàéë kot.dat"),nl,
write("3 - Âûõîä â îñíîâíîå
ìåíþ"),nl,
write("==>"),
readint(I),
I>0,I<4,
sve(I),!,
removewindow.
/*Ïðîöåäóðà âûáîðà ñîçäàíèÿ íîâîé áàçû*/
process(6):-
nl,
makewindow(3,2,7,"Ñîçäàíèå
íîâîé áàçû",0,0,25,80),
write("1 - Áàçà áóäåò ñîçäàíà
ïî çàäàíîìó íàèìåíîâàíèþ òîâàðà"),nl,
write("2 - Áàçà áóäåò ñîçäàíà
ïî òðåáóåìîìó êîëè÷åñòâó"),nl,
write("3 - Áàçà áóäåò ñîçäàíà
ïî äàííûì ïîëó÷àòåëÿ"),nl,
write("4 - Âûõîä â îñíîâíîå
ìåíþ"),nl,
write("==>"),
readint(O),
O>0,O<5,
procedure(O),
removewindow.
process(_).
/*Ïðîöåäóðà
ñîçäàíèÿ íîâîé áàçû äàííûõ è åå ñîõðàíåíèÿ*/
procedure(1):-
makewindow(1,2,7,"Ñîçäàíèå
íîâîé áàçû ïî íàèìåíîâàíèþ òîâàðà",0,0,25,80),
nl,
cursor(7,10),
retractall(_,svod1),
nl,
write("Åñëè âû õîòèòå óçíàòü äàííûå î íàèìåíîâàíèè
òîâàðà íà áàçå , òî"),
nl,
write("Ââåäèòå íàèìåíîâàíèå
òîâàðà:"),
readln(X),
svod(N,PROD,KOL,TKOL,ADR,TEL,FAKS),
S=PROD,
S=X,
N1=N,KOL1=KOL,TKOL1=TKOL,ADR1=ADR,TEL1=TEL,FAKS1=FAKS,
assert(svod1(N1,S,KOL1,TKOL1,ADR,TEL,FAKS)),
fail.
procedure(1):-
write("Áàçà
ñîçäàíà"),nl,
write("----------------------------------------------------------------------------!"),
nl,
write("!íîìåð!íàçâàíèå!êîë íà!òðåá
! ïîëó÷àòåëü !"),
nl,
write("! ! òàâàðà
!ñêëàäå!êîë-âî! àäðåñ ! òåëåôîí ! ôàêñ !"),
nl,
write("-----------------------------------------------------------------------------"),
nl,
svod(N,S,KOL,TKOL,ADR,TEL,FAKS),
N1=N,
cursor(Z,_),
cursor(Z,0),write(N1),
cursor(Z,7),write(S),
cursor(Z,18),write(KOL),
cursor(Z,23),write(TKOL),
cursor(Z,33),write(ADR),
cursor(Z,55),write(TEL),
cursor(Z,67),write(FAKS),
cursor(Z,77),write("!"),
nl,
fail.
procedure(1):-
write("-----------------------------------------------------------------------------"),
save("now.dat",svod1),
nl,
write("Áàçà ñîõðàíåíà â ôàéëå now.dat"),
nl,
write("Íàæìèòå ëþáóþ êëàâèøó"),
readchar(_),
removewindow,
!.
procedure(1):-
write("-----------------------------------------------------------------------------"),
nl,
write("Íåâîçìîæíî ñîõðàíèòü
ñîçäàííóþ áàçó"),
nl,
write("Íàæìèòå ëþáóþ
êëàâèøó"),
readchar(_),
makewindow(1,2,7,"ÎÂÎÙÍÀß
ÁÀÇÀ",0,0,25,80).
procedure(2):-
makewindow(1,2,7,"Ñîçäàíèå
íîâîé áàçû ïî òðåáóåìîìó êîëè÷åñòâó",0,0,25,80),
nl,
cursor(7,10),
retractall(_,lolo),
nl,
write("Åñëè âû õîòèòå óçíàòü
äàííûå î íàèáîëüøåì òðåáóåìîì êîëè÷åñòâå , òî"),nl,
write("Ââåäèòå íà÷àëüíîå
çíà÷åíèå òðåáóåìîãî êîëè÷åñòâà:"),
readint(X),
svod(N,PROD,KOL,TKOL,ADR,TEL,FAKS),
S=TKOL,
S>=X,
N1=N,PROD1=PROD,KOL1=KOL,ADR1=ADR,TEL1=TEL,FAKS1=FAKS,
assert(lolo(N1,PROD1,KOL1,S,ADR1,TEL1,FAKS1)),
fail.
procedure(2):-
write("Áàçà
ñîçäàíà"),nl,
write("-----------------------------------------------------------------------------"),
nl,
write("!íîìåð!íàçâàíèå!êîë íà!òðåá
! ïîëó÷àòåëü !"),
nl,
write("! ! òàâàðà
!ñêëàäå!êîë-âî! àäðåñ ! òåëåôîí ! ôàêñ !"),
nl,
write("-----------------------------------------------------------------------------"),
nl,
lolo(N,PROD,KOL,S,ADR,TEL,FAKS),
N1=N,
cursor(Z,_),
cursor(Z,0),write(N1),
cursor(Z,7),write(PROD),
cursor(Z,18),write(KOL),
cursor(Z,23),write(S),
cursor(Z,33),write(ADR),
cursor(Z,55),write(TEL),
cursor(Z,67),write(FAKS),
cursor(Z,77),write("!"),
nl,
fail.
procedure(2):-
write("-----------------------------------------------------------------------------"),
save("now1.dat",lolo),
nl,
write("Áàçà ñîõðàíåíà â ôàéëå now1.dat"),
nl,
write("Íàæìèòå ëþáóþ êëàâèøó"),
readchar(_),
removewindow,
!.
procedure(2):-
write("-----------------------------------------------------------------------------"),
nl,
write("Íåâîçìîæíî ñîõðàíèòü
ñîçäàííóþ áàçó"),
nl,
write("Íàæìèòå ëþáóþ
êëàâèøó"),
readchar(_),
makewindow(1,2,7,"ÎÂÎÙÍÀß
ÁÀÇÀ",0,0,25,80).
procedure(3):-
makewindow(1,2,7,"Ñîçäàíèå
áàçû äàííûõ ïî äàííûì ïîëó÷àòåëÿ",0,0,25,80),
nl,
cursor(7,10),
retractall(_,kuku),
nl,
write("Åñëè âû õîòèòå óçíàòü
äàííûå î òîâàðå ïî äàííûì ïîëó÷àòåëÿ , òî"),
nl,
write("Ââåäèòå äàííûå
ïîëó÷àòåëÿ:"),
readln(X),
readint(Y),
readint(Z),
svod(N,PROD,KOL,TKOL,ADR,TEL,FAKS),
S=ADR,
D=TEL,
C=FAKS,
S=X,
D=Y,
C=Z,
N1=N,PROD1=PROD,KOL1=KOL,TKOL1=TKOL,
assert(kuku(N1,PROD1,KOL1,TKOL1,S,D,C)),
fail.
procedure(3):-
write("Áàçà
ñîçäàíà"),nl,
write("----------------------------------------------------------------------------!"),
nl,
write("!íîìåð!íàçâàíèå!êîë íà!òðåá
! ïîëó÷àòåëü !"),
nl,
write("! ! òàâàðà
!ñêëàäå!êîë-âî! àäðåñ ! òåëåôîí ! ôàêñ !"),
nl,
write("-----------------------------------------------------------------------------"),
nl,
kuku(N,PROD,KOL,TKOL,S,D,C),
N1=N,
cursor(Z,_),
cursor(Z,0),write(N1),
cursor(Z,7),write(PROD),
cursor(Z,18),write(KOL),
cursor(Z,23),write(TKOL),
cursor(Z,33),write(S),
cursor(Z,55),write(D),
cursor(Z,67),write(C),
cursor(Z,77),write("!"),
nl,
fail.
procedure(3):-
write("-----------------------------------------------------------------------------"),
save("now2.dat",svod1),
nl,
write("Áàçà ñîõðàíåíà â ôàéëå now2.dat"),
nl,
write("Íàæìèòå ëþáóþ êëàâèøó"),
readchar(_),
removewindow,
!.
procedure(3):-
write("-----------------------------------------------------------------------------"),
nl,
write("Íåâîçìîæíî ñîõðàíèòü
ñîçäàííóþ áàçó"),
nl,
write("Íàæìèòå ëþáóþ
êëàâèøó"),
readchar(_),
makewindow(1,2,7,"ÎÂÎÙÍÀß
ÁÀÇÀ",0,0,25,80).
/*Ïðîöåäóðà
çàïèñè íà äèñê*/
sve(1):-
write("Ââåäèòå èìÿ ôàéëà
:"),
readln(N),
save(N),
write("Âñå â ïîðÿäêå"),
beep,
!.
sve(1):-
write("Îøèáêà îáìåíà, íàæìèòå
ëþáóþ êëàâèøó"),
readchar(_).
sve(2):-
save("kot.dat").
sve(3).
/*Ïðîöåäóðà
÷òåíèÿ ñ äèñêà*/
lod(1):-
retractall(_),
write("Ââåäèòå èìÿ ôàéëà
:"),
readln(N),
existfile(N),
consult(N),
write("Âñå â ïîðÿäêå"),
beep,
!.
lod(1):-
nl,
write("Äàííîãî ôàéëà íåò íà
äèñêå"),nl,
write("Íàæìèòå ëþáóþ
êëàâèøó"),
readchar(_).
lod(2):-
retractall(_),
existfile("kot.dat"),
consult("kot.dat"),
write("Âñå â ïîðÿäêå"),
beep,
!.
lod(2):-
write("Ôàéëà kot.dat íåò íà
äèñêå"),nl,
write("íàæìèòå ëþáóþ
êëàâèøó"),
readchar(_).
lod(3).
repeat.
repeat:- repeat.
/*Âûáîð
çàïèñè*/
select(N):-
nl,
write("1 - èçâåñòåí íîìåð
çàïèñè"),nl,
write("2 - èçâåñòíî íàèìåíîâàíèå
òîâàðà"),nl,
write("3 - èçâåñòíî êîëè÷åñòâî íà
ñêëàäå"),nl,
write("4 - èçâåñòíî òðåáóåìîå
êîëè÷åñòâî"),nl,
write("5 - èçâåñòåí àäðåñ
ïîëó÷àòåëÿ"),nl,
write("6 - èçâåñòåí òåëåôîí
ïîëó÷àòåëÿ"),nl,
write("7 - èçâåñòåí ôàêñ
ïîëó÷àòåëÿ"),nl,
write("==>"),
readint(X),
sel(X,N).
sel(1,N):-
nl,
write("Ââåäèòå íîìåð çàïèñè :"),
readint(N),
svod(M,_,_,_,_,_,_),
M=N.
sel(1,N):-
N=0.
sel(2,N):-
nl,
write("Ââåäèòå íàèìåíîâàíèå
ïðåäïðèÿòèÿ:"),
readln(L),
svod(Z,L,_,_,_,_,_),
N=Z.
sel(2,N):-
N=0.
sel(3,N):-
nl,
write("Ââåäèòå êîëè÷åñòâî
ðàáî÷èõ: "),
readint(F),
svod(Z,_,F,_,_,_,_),
N=Z.
sel(3,N):-
N=0.
sel(4,N):-
nl,
write("Ââåäèòå ãîä
âûïóñêà:"),
readint(Q),
svod(Z,_,_,Q,_,_,_),
N=Z.
sel(4,N):-
N=0.
sel(5,N):-
nl,
write("Ââåäèòå îáúåì ïðîäóêöèè
(ìëí.ðóá):"),
readln(W),
svod(Z,_,_,_,W,_,_),
N=Z.
sel(5,N):-
N=0.
sel(6,N):-
nl,
write("Ââåäèòå çàíèìàåìóþ
ïëîùàäü:"),
readint(E),
svod(Z,_,_,_,_,E,_),
N=Z.
sel(6,N):-
N=0.
sel(7,N):-
nl,
write("Ââåäèòå ôàêñ
ïîëó÷àòåëÿ:"),
readint(A),
svod(Z,_,_,_,_,_,A),
N=Z.
sel(7,N):-
N=0.
|  | |
|