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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

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

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

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

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

Группа ИУ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. Виды и структура планов
5. . Банкрутство підприємств організацій як економічне явище Сутність причини та ознаки банкрутства Пон.
6. то дорогим ароматом.
7. реферат дисертації на здобуття наукового ступеня кандидата юридичних наук ХАРКІВ 2000 З
8. Дэн Браун Код да Винчи- АСТ; Москва; 2004 ISBN 5170224575 Оригинал- Dn Brown ldquo;The D Vinci Coderdquo; Перевод- Н
9. эффективный инструмент концентрации и вовлечения в хозяйственную деятельность средств корпоративных орга
10. управленческих и правовых дисциплин ЭКОНОМИКА ПРЕДПРИЯТИЯ Программа курса