Узнать стоимость написания работы
Оставьте заявку, и в течение 5 минут на почту вам станут поступать предложения!
Реферат

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


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

Domains
        N,i,n,y,m,d,t,v,p=integer
database-svod1
          svod1(n,y,m,d,t,v,p)
database-lolo
          lolo(n,y,m,d,t,v,p)
database-kuku
          kuku(n,y,m,d,t,v,p)
database
          svod(n,y,m,d,t,v,p)
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,«C В О Д К А П О Г О Д Ы »,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(«lesha.dat»),
            consult(«lesha.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(N),nl,
            write("ВведитеГод              :"),readint(Y),nl,
            write("ВведитеМесяц           :"),readint(M),nl,
            write("ВведитеЧисло           :"),readint(D),nl,
            write(«ВведитеТемпературу      :»),readint(T),nl,
           write(«Введите Влажность       :»),readint(V),nl,
           write(«Введите Давление        :»),readint(P),nl,
           assertz(svod(N,Y,M,D,T,V,P)),
           removewindow,
            fail.
/*Процедура просмотра-добавления*/
        process(8):-
        makewindow(1,2,7,«Просмотр-добавление»,0,0,25,80),
         nl,
        write(«Введите номер записи:»),readint(A),nl,nl,
         svod(A,Y,M,D,T,V,P),
         write("Номерзаписи:"),write(A),nl,
         write("Год          :"),write(Y),nl,
         write("Месяц        :"),write(M),nl,
        write("Число        :"),write(D),nl,
         write("Температура :"),write(T),nl,
         WRITE("Влажность   :"),write(V),nl,
         write("Давление    :"),write(P),nl,nl,nl,
         write(«Нажмите на любуюклавишу»),
        readchar(_),
         removewindow,
         !.
        process(8):-
write(«Этого номера записи нет в базе.»),
write(«Повторите введенный номер записи ипродолжайте ввод данных»),nl,nl,nl,
         write("Введитеномер:"),
         readint(N),nl,
         write("ВведитеГод          :"),readint(Y),nl,
         write("ВведитеМесяц        :"),readint(M),nl,
         write("ВведитеЧисло        :"),readint(D),nl,
         write(«ВведитеТемпературу  :»),readint(T),nl,
        write(«Введите Влажность   :»),readint(V),nl,
        write(«Введите Давление    :»),readint(P),
         assertz(svod(N,Y,M,D,T,V,P)),
         removewindow,
         fail.
         process(0):-
         makewindow(1,2,7,"Опpогpамме...",0,0,25,80),
write("                     Инфоpмационно-спpавочнаясистема"),nl,nl,
write("                       о пргнoзе погоды  "),nl,nl,
write("                        Язык-TURBO-PROLOG v.2.0.     "),nl,nl,
write("                      автоp:МоргунА.В.        "),nl,nl,
write("                      МГИРЭА, гp.ИИ-1-95 (с) 1996 г. "),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,Y,M,D,T,V,P),
            write("Номерзаписи       :"),write(N),nl,
            write("Год                 :"),write(Y),nl,
            write("Месяц               :"),write(M),nl,
            write("Число               :"),write(D),nl,
            write("Температура         :"),write(T),nl,
            write("Влажность           :"),write(V),nl,
            write("Давление            :"),write(P),nl,nl,nl,
            write("ВведитеГод         :"),readint(Y1),nl,
            write("ВведитеМесяц       :"),readint(M1),nl,
            write("ВведитеЧисло       :"),readint(D1),nl,
            write(«ВведитеТемпературу :»),readint(T1),nl,
           write(«Введите Влажность  :»),readint(V1),nl,
            write("ВведитеДавление   :"),readint(P1),nl,
            X1=X,
            retract(svod(X,Y,M,D,T,V,P)),
            assert(svod(X1,Y1,M1,D1,T1,V1,P1)),
            !,
           removewindow.
/*Процедура удаления записей из базы данных*/
        process(2):-
            makewindow(1,2,7,"Удалениезаписей",0,0,25,80),
            nl,
            select(N),
            X=N,
            svod(X,Y,M,D,T,V,P),
            retract(svod(X,Y,M,D,T,V,P)),!,
            removewindow.
/*Процедура просмотра содержимого базы данных*/
        process(3):-
        makewindow(1,2,7,"Просмотp базы",0,0,25,80),
        nl,
write("╔════════════════════════════════════════════════════════════════════╗"),nl,
write("║                         СВОДКА ПОГОДЫ                             ║"),nl,
write("║                                                                   ║"),nl,
write("╠═══════╦═══════════════════════╦══════════╦════════════╦════════════╣"),nl,
write("║       ║         Дата         ║ Темп-ура║ Влажность ║Давление    ║"),nl,
write("║      ╠═══════╦════════╦══════╬══════════╬════════════╬════════════╣"),nl,
write("║Номер║ год  ║месяц   ║число║          ║            ║            ║"),nl,
write("║       ║       ║        ║      ║          ║            ║            ║"),nl,
write("║       ║       ║        ║      ║          ║            ║            ║"),nl,
nl,
           svod(N,Y,M,D,T,V,P),
            cursor(Z,_),
            cursor(Z,2),write(N),
            cursor(Z,11),write(Y),
            cursor(Z,20),write(M),
            cursor(Z,29),write(D),
            cursor(Z,36),write(T),
            cursor(Z,47),write(V),
            cursor(Z,60),write(P),
            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 — База будет загружена из файла lesha.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 — База будет записана в файл lesha.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("ВведитеГод:"),
            readint(X),
            svod(N,Y,M,D,T,V,P),
            S=Y,
            S=X,
            N1=N,M1=M,D1=D,T1=T,V1=V,P1=P,
            assert(svod1(N1,Y,M1,D1,T1,V1,P1)),
            fail.
        procedure(1):-
write("Базасоздана"),nl,
write("╔════════════════════════════════════════════════════════════════════╗"),nl,
write("║                         СВОДКА ПОГОДЫ                             ║"),nl,
write("║                                                                    ║"),nl,
write("╠═══════╦═══════════════════════╦══════════╦════════════╦════════════╣"),nl,
write("║       ║         Дата         ║ Темп-ура║ Влажность ║Давление    ║"),nl,
write("║      ╠═══════╦════════╦══════╬══════════╬════════════╬════════════╣"),nl,
write("║Номер║ год  ║месяц   ║число║          ║            ║            ║"),nl,
write("║       ║       ║        ║      ║          ║            ║            ║"),nl,
write("║       ║       ║        ║      ║          ║            ║            ║"),nl,
nl,
            svod1(N,S,M,D,T,V,P),
            cursor(Z,_),
            cursor(Z,2),write(N),
            cursor(Z,11),write(S),
            cursor(Z,20),write(M),
            cursor(Z,29),write(D),
            cursor(Z,36),write(T),
            cursor(Z,47),write(V),
            cursor(Z,60),write(P),
            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,
            readint(X),
            svod(N,Y,M,D,T,V,P),
            S=M,
            S=X,
            N1=N,Y1=Y,D1=D,T1=T,V1=V,P1=P,
            assert(lolo(N1,Y,S,D,T,V,P)),
            fail.
        procedure(2):-
write("Базасоздана"),nl,
write("╔════════════════════════════════════════════════════════════════════╗"),nl,
write("║                         СВОДКА ПОГОДЫ                             ║"),nl,
write("║                                                                   ║"),nl,
write("╠═══════╦═══════════════════════╦══════════╦════════════╦════════════╣"),nl,
write("║       ║         Дата         ║ Темп-ура║ Влажность ║Давление    ║"),nl,
write("║      ╠═══════╦════════╦══════╬══════════╬════════════╬════════════╣"),nl,
write("║Номер║ год  ║месяц  ║число║          ║            ║            ║"),nl,
write("║       ║       ║        ║      ║          ║            ║            ║"),nl,
write("║       ║       ║        ║      ║          ║            ║            ║"),nl,
nl,
            lolo(N,Y,M,D,T,V,P),
            cursor(Z,_),
            cursor(Z,2),write(N),
            cursor(Z,11),write(Y),
            cursor(Z,20),write(M),
            cursor(Z,29),write(D),
            cursor(Z,36),write(T),
            cursor(Z,47),write(V),
            cursor(Z,60),write(P),
            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,Y,M,D,T,V,P),
            S=D,
            S=X,
            N1=N,Y1=Y,M1=M,T1=T,V1=V,P1=P,
            assert(kuku(N1,Y1,M1,S,T1,V1,P1)),
            fail.
        procedure(3):-
write("Базасоздана"),nl,
write("╔════════════════════════════════════════════════════════════════════╗"),nl,
write("║                         СВОДКА ПОГОДЫ                             ║"),nl,
write("║                                                                   ║"),nl,
write("╠═══════╦═══════════════════════╦══════════╦════════════╦════════════╣"),nl,
write("║       ║         Дата         ║ Темп-ура║ Влажность ║Давление    ║"),nl,
write("║      ╠═══════╦════════╦══════╬══════════╬════════════╬════════════╣"),nl,
write("║Номер║ год  ║месяц   ║число║          ║            ║            ║"),nl,
write("║       ║       ║        ║      ║          ║            ║            ║"),nl,
write("║       ║       ║        ║      ║          ║            ║            ║"),nl,
nl,
          kuku(N,Y,M,D,T,V,P),
            cursor(Z,_),
            cursor(Z,2),write(N),
            cursor(Z,11),write(Y),
            cursor(Z,20),write(M),
            cursor(Z,29),write(D),
            cursor(Z,36),write(T),
            cursor(Z,47),write(V),
            cursor(Z,60),write(P),
            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(«lesha.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(«lesha.dat»),
            consult(«lesha.dat»),
            write("Всевпорядке"),
            beep,
            !.
        lod(2):-
            write("Файлаlesha.dat нетнадиске"),nl,
            write("нажмителюбуюклавишу"),
            readchar(_).
        lod(3).
        repeat.
        repeat:- repeat.
/*Выборзаписи*/
        select(N):-
        nl,
        write(«1 — известенHoмерзаписи»),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("ВведитеГод:"),
        readint(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 мильонов к студенческой карме :

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

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

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

Реферат Налоговая политика государства 8
Реферат Tv Violence In America Essay Research Paper
Реферат Управління юридичним консалтингом
Реферат Происхождение сущность и функции денег 2
Реферат Winning a Fortune \english\
Реферат Договор франчайзинга. Взаимодействие партнеров
Реферат Експертиза м'яса та м'ясних товарів
Реферат Личинки веснянок
Реферат Друковані та інтернет-видання
Реферат Основные физико-механические свойства горных пород, необходимые для проектирования и строительства. Методы определения абсолютного и относительного возраста пород
Реферат Экзаменационные вопросы по курсу "Международное финансирование" \укр\
Реферат История спортивного бального танца
Реферат Тяжелый крест под полумесяцем
Реферат Дослідження конкурентоспроможності підприємства та його продукції
Реферат «Оценка интеллектуальной собственности» для обучающихся на степень Бакалавра Специальность: 012700 Оценка баку – 2008 Сетка часов по дисциплине