Главная » Каталог    
рефераты Разделы рефераты
рефераты
рефератыГлавная

рефератыБиология

рефератыБухгалтерский учет и аудит

рефератыВоенная кафедра

рефератыГеография

рефератыГеология

рефератыГрафология

рефератыДеньги и кредит

рефератыЕстествознание

рефератыЗоология

рефератыИнвестиции

рефератыИностранные языки

рефератыИскусство

рефератыИстория

рефератыКартография

рефератыКомпьютерные сети

рефератыКомпьютеры ЭВМ

рефератыКосметология

рефератыКультурология

рефератыЛитература

рефератыМаркетинг

рефератыМатематика

рефератыМашиностроение

рефератыМедицина

рефератыМенеджмент

рефератыМузыка

рефератыНаука и техника

рефератыПедагогика

рефератыПраво

рефератыПромышленность производство

рефератыРадиоэлектроника

рефератыРеклама

рефератыРефераты по геологии

рефератыМедицинские наукам

рефератыУправление

рефератыФизика

рефератыФилософия

рефератыФинансы

рефератыФотография

рефератыХимия

рефератыЭкономика

рефераты
рефераты Информация рефераты
рефераты
рефераты

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


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.
рефераты Рекомендуем рефератырефераты

     
Рефераты @2011