Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Отчет по лабораторной работе 1 Язык программирования Prolog по курсу Системы искусственного интеллект

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.5.2024

Министерство образования и науки Российской Федерации

Московский государственный технический университет имени Н.Э. Баумана

Факультет: «Информатика и системы управления»

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

Группа ИУ6-72

Отчет по лабораторной работе №1

«Язык программирования Prolog»

по курсу «Системы искусственного интеллекта»

 Выполнили:       Леонтьев С.Н.

        Надольский А.В.

 Преподаватель:  Пугачев Е.К.

Москва 2011.

Цель работы

Целью проведения лабораторных работ является приобретение навыков разработки и реализации основных элементов систем искусственного интеллекта. Лабораторная работа посвящена инструментальному средству создания систем обработки знаний языку программирования высокого уровня Prolog.

Задание

Создать базу данных студентов.

Поля:

  •  ФИО;
  •  группа;
  •  средняя оценка.

Реализовать функции:

  •  просмотр полей;
  •  сортировка по ФИО.

Текст программы

Domains

      s=string

      n=integer

      c=char

      fio=string

      avg=real

      group=string

Database -db

       stdda(fio,group,avg)

Database -db1

       stdda1(fio,group,avg)

Predicates

start %цель

adddata %ввод новых данных

 view %просмотр базы данных

 tab(n)% вст авка n пробелов

 sel(s)%меню выбора

sort

minfind(fio,fio)

form(fio)

liner(n) %вставка n -

printBD(s,fio,group,avg)

printData(fio,group,avg)

correct

Goal

   start.

Clauses

start:-existfile("students.bd"),

       makewindow(1,27,57,"Главное меню",5,15,10,35),

       retractall(stdda(_,_,_)),

       consult("students.bd",db),

       write("1-Добавить новую запись."),nl,

       write("2-Сортировка студентов по ФИО."),nl,

       write("3-Просмотр БД."),nl,

       write("4-Очистить БД."),nl,

       write("5-Выход"),nl,

       readln(S),

       removewindow,

       concat(S,"b",S1),

       sel(S1).

start:-not(existfile("students.bd")),

       makewindow(2,27,57,"Ошибка №1",5,10,7,24),

       write("Файл БД не существует хотите его создать?"),nl,write("1-Да."),nl,

       readln(C),removewindow,concat(C,"a",C1),

       sel(C1).

sel(S):-S="1b",adddata.

sel(S):-S="3b",view.

sel(S):-S="4b",retractall(stdda(_,_,_)),save("students.bd",db),start,!.

sel(S):-S="1a",adddata.

sel(S):-S="2a",exit.

sel(S):-S="2b",sort.

sel(S):-S="5b",exit.

sel(S):-start.

adddata:-makewindow(3,27,57,"Ввод новой записи",7,17,10,40),

         write("Введите Фамилию И.О.:"),readln(F),

         write("Введите группу:"),readln(G),

         write("Введите средний балл:"),readreal(A),

         retractall(stdda(F,G,A)),

         assert(stdda(F,G,A),db),

         save("students.bd",db),

         removewindow,

         start.

view:-printBD("Содержимое БД students.bd",_,_,_).

view:-readln(X),removewindow,start.

tab(N):-N>0,write(" "),Z=N-1,tab(Z);

        N=0.

liner(N):-N>0,write("-"),Z=N-1,liner(Z);

          N=0.

printBD(HD,X1,Y1,Z1):-makewindow(4,27,57,HD,1,5,24,70),

                write("| Фамилия И.О."),tab(28),

                write("| Группа | Средний бал |"),nl,

                liner(66),nl,printData(X1,Y1,Z1).

printData(X,Y,Z):-stdda(X,Y,Z),str_real(Z1,Z),

                write("| ",X),str_len(X,T),T1=40-T,tab(T1),

                write("| ",Y),str_len(Y,T2),T3=7-T2,tab(T3),

                write("|     ",Z1),str_len(Z1,Z2),Z3=8-Z2,tab(Z3),write("|"),nl

 sort:-stdda(T,_,_),minfind(T,T1),form(T1),fail.

 sort:-not(stdda(_,_,_)),correct,retractall(stdda1(_,_,_)).

 minfind(FIO,RES):-stdda(FIO1,_,_),FIO>FIO1,

                   FIO<>FIO1,minfind(FIO1,RES).

 minfind(FIO,RES):-FIO=FIO1,RES=FIO.

 form(X):-stdda(X,Y,Z),

          assertz(stdda1(X,Y,Z),db1),

          retractall(stdda(X,Y,Z),db),

          fail.

 correct:-stdda1(X,Y,Z),

          assertz(stdda(X,Y,Z),db),

          retractall(stdda1(X,Y,Z)),

          save("students.bd",db),

          fail.




1. Постмодернизм и особенности его проявления в музыкальном искусстве
2. Какие ожоги бывают перечислить
3. тема отсчета Чтобы описать механическое движение тела точки нужно знать его координаты в любой момент вр
4. Экономика труда для специальности 060800 Бакалавры Менеджмента профиль Производственный менеджмент 060
5. Стратеги развивающихся рынков советуют покупать, пока дешево
6. Психологические идеи в русской философии XVIII века
7. лишь одно из жизненных испытаний многих из которых еще предстоит пройти
8. 89.76.01.25 О. В. Мельник Е.html
9. ИСТОРИЯ ВОЗНИКНОВЕНИЯ МАСОНСКИХ ЛОЖ2.html
10. Управление персоналом 1
11. 34 0765 Афанасьев А
12. тематический факультет МГУ им
13. Реферат- Проблемы психологии городской среды
14. штаб Максимум Феникс Адреналин очки Спектр
15. ЗАДАНИЕ НА СЦЕНЕ- Один из участников начинает рассказывать историю о рыцаре и даме
16. Тематический расчет часов на 20112012 уч
17. а Назначение электродвигательного устройства ЭДУ
18.  Теоретические основы разработки финансовой политики предприятия
19. Действия Беева можно квалифицировать по ст.html
20. Реферат Законодательная регламентация факторинга в республике Беларусь