Реферат по предмету "Программирование, Базы данных"


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

CODE=12050
/*          **************************
             *   КУРСОВАЯ  РАБОТА    *
             *                        *
             *  Косарева Вячеслава   *
             *                        *
             **************************
*/
domains
        z,i,n,n1,ko,ob,pl=integer
        na,j=symbol
database-svod1
          svod1(n,j,ko,ob,pl)
database-lolo
          lolo(n,na,i,ob,pl)
database-kuku
          kuku(n,na,ko,i,pl)
database
         svod(n,na,ko,ob,pl)
        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
            clearwindow,
            process(Choice),
            clearwindow,
            Choice = 9,
            retractall(_),
           removewindow.
/*Процедура поиска и загрузки файла содержащего базуданных*/
        load:-
            existfile(«slava.dat»),
            consult(«slava.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(«Введите занимаемую площадь :»),readint(T),nl,
            N1=K,NA1=O,KO1=I,OB1=Y,PL1=T,
            assertz(svod(N1,NA1,KO1,OB1,PL1)),
            removewindow,
            fail.
/*Процедура просмотра-добавления*/
        process(8):-
        makewindow(1,2,7,«Просмотр-добавление»,0,0,25,80),
         nl,
        write(«Введите номер записи:»),readint(A),nl,nl,
         svod(N,NA,KO,OB,PL),
         A=N,
         write("Номерзаписи       :"),write(A),nl,
         write(«Названиепредприятия:»),write(NA),nl,
        write(«Количество рабочих :»),write(KO),nl,
        write(«Объем продукции    :»),write(OB),nl,
        write(«Занимаемая площадь :»),write(PL),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(«Введите занимаемую площадь :»),readint(G),nl,
         NA1=F,KO1=Y,OB1=J,PL1=G,
         assertz(svod(N1,NA1,KO1,OB1,PL1)),
         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,NA,KO,OB,PL),
            write("Номерзаписи       :"),write(N),nl,
            write(«Названиепредприятия:»),write(NA),nl,
           write(«Количество рабочих :»),write(KO),nl,
           write(«Объем продукции    :»),write(OB),nl,
           write(«Занимаемая площадь :»),write(PL),nl,
            nl,
           write(«Введите название предприятия:»),readln(NA1),nl,
           write(«Введите количество рабочих :»),readint(KO1),nl,
           write(«Введите объем продукции    :»),readint(OB1),nl,
            write(«Введите занимаемую площадь  :»),readint(PL1),nl,
            X1=X,
            retract(svod(X,NA,KO,OB,PL)),
            assert(svod(X1,NA1,KO1,OB1,PL1)),
            !,
           removewindow.
/*Процедура удаления записей из базы данных*/
        process(2):-
            makewindow(1,2,7,"Удалениезаписей",0,0,25,80),
            nl,
            select(N),
            X=N,
            svod(X,NA,KO,OB,PL),
            retract(svod(X,NA,KO,OB,PL)),!,
            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,NA,KO,OB,PL),
            cursor(Z,_),
            cursor(Z,0),write(N),
            cursor(Z,8),write(NA),
            cursor(Z,27),write(KO),
            cursor(Z,42),write(OB),
            cursor(Z,54),write(PL),
            cursor(Z,66),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 — База будет загружена из файла slava.dat»),nl,
           write(«3 — Выход в основное меню»),nl,
            write("==>"),
            readint(C),
            C>0,C
            lod(C),
            !,
            removewindow.
/*Процедура сохранения базы данных*/
       process(5):-
            nl,
           makewindow(2,15,4,«Запись»,5,5,20,70),
           write(«1 — База будет записана в указанный файл»),nl,
           write(«2 — База будет записана в файл slava.dat»),nl,
           write(«3 — Выход в основное меню»),nl,
            write("==>"),
            readint(I),
            I>0,I
            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
            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,NA,KO,OB,PL),
            S=NA,
            S=X,
            N1=N,KO1=KO,OB1=OB,PL1=PL,
            assert(svod1(N1,S,KO1,OB1,PL1)),
            fail.
        procedure(1):-
write("Базасоздана"),nl,
write("__________________________________________________________________!"),
write("                        ХАРАКТЕРИСТИКАПРЕДПРИЯТИЯ                 "),
nl,
write("------------------------------------------------------------------!"),
nl,
write("! номер! наименование  !   количество !  объем    ! занимаемая  !"),
nl,
write("!    !  предприятия   !  рабочих     ! продукции !  площадь     "),
nl,
write("-------------------------------------------------------------------"),
nl,
            svod1(N,S,KO,OB,PL),
            cursor(Z,_),
            cursor(Z,0),write(N),
            cursor(Z,8),write(S),
            cursor(Z,27),write(KO),
            cursor(Z,42),write(OB),
            cursor(Z,54),write(PL),
            cursor(Z,66),write("!"),
            nl,
            fail.
        procedure(1):-
write("-------------------------------------------------------------------"),
            save(«not.dat»,svod1),
            nl,
           write(«База сохранена в файле not.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,NA,KO,OB,PL),
            S=KO,
            S>=X,
            N1=N,NA1=NA,OB1=OB,PL1=PL,
            assert(lolo(N1,NA1,S,OB1,PL1)),
            fail.
        procedure(2):-
write("Базасоздана"),nl,
write("__________________________________________________________________!"),
write("                        ХАРАКТЕРИСТИКАПРЕДПРИЯТИЯ                 "),
nl,
write("------------------------------------------------------------------!"),
nl,
write("! номер! наименование  !   количество !  объем    ! занимаемая  !"),
nl,
write("!    !  предприятия   !  рабочих     ! продукции !  площадь     "),
nl,
write("-------------------------------------------------------------------"),
nl,
            lolo(N,NA,S,OB,PL),
            cursor(Z,_),
            cursor(Z,0),write(N),
            cursor(Z,8),write(NA),
            cursor(Z,27),write(S),
            cursor(Z,42),write(OB),
            cursor(Z,54),write(PL),
            cursor(Z,66),write("!"),
            nl,
            fail.
        procedure(2):-
write("-----------------------------------------------------------------------------"),
            save(«not1.dat»,lolo),
            nl,
           write(«База сохранена в файле not1.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(«Введите начальный объем :»),
            readint(X),
            svod(N,NA,KO,OB,PL),
            S=OB,
            S>=X,
            N1=N,NA1=NA,KO1=KO,PL1=PL,
            assert(kuku(N1,NA1,KO1,S,PL1)),
            fail.
        procedure(3):-
write("Базасоздана"),nl,
write("__________________________________________________________________!"),
write("                        ХАРАКТЕРИСТИКАПРЕДПРИЯТИЯ                 "),
nl,
write("------------------------------------------------------------------!"),
nl,
write("! номер! наименование  !   количество !  объем    ! занимаемая  !"),
nl,
write("!    !  предприятия   !  рабочих     ! продукции !  площадь     "),
nl,
write("-------------------------------------------------------------------"),
nl,
          kuku(N,NA,KO,S,PL),
            cursor(Z,_),
            cursor(Z,0),write(N),
            cursor(Z,8),write(NA),
            cursor(Z,27),write(KO),
            cursor(Z,42),write(S),
            cursor(Z,54),write(PL),
            cursor(Z,66),write("!"),
            nl,
            fail.
        procedure(3):-
write("-------------------------------------------------------------------"),
            save(«not2.dat»,kuku),
            nl,
            write(«Базасохранена в файле not.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(«slava.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(«slava.dat»),
            consult(«slava.dat»),
            write("Всевпорядке"),
            beep,
            !.
        lod(2):-
            write("Файлаslava.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("==>"),
        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(«Введите занимаемую площадь:»),
        readint(W),
        svod(Z,_,_,_,W),
        N=Z.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Особенности восприятия художественного текста младшими школьниками
Реферат Предпринимательская ответственность и эффективность функционирования предприятия
Реферат Ремонт задньої підвіски автомобіля Ланос
Реферат James Monroe Essay Research Paper James MonroeThe
Реферат Налог на имущество
Реферат Аналіз продуктивності праці та її оплати в промислових виробництвах
Реферат Украинское морально-этическое наследие и гуманистические ценности
Реферат Ремонт мотоциклетного двигателя
Реферат Иоффе ГЗ Семнадцатый год Ленин Керенский Корнилов Девять решающих голосов
Реферат Ремонт та технічне обслуговування карбюратора "Solex"
Реферат Ремонт тележки электропоезда на примере модели КВЗ-ЦНИИ
Реферат Ремонт и диагностирование турбокомпрессоров
Реферат Ремонт и зимовка суден
Реферат Ремонт и содержание участка автомобильной дороги
Реферат Ремонт и техническое обслуживание автомобиля ВАЗ-2108