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

Лабораторная работа 1 по курсу Системы искусственного интеллекта студента группы ИУ672 Кононенко О

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

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

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

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

от 25%

Подписываем

договор

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

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

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

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ИМ. Н.Э. БАУМАНА

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

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

           

Лабораторная работа №1

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

студента группы ИУ6-72

Кононенко Олега

Вариант 10

                                                                             

2008

Цель работы

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

Задание

Создать базу данных студентов. Поля: ФИО, ГРУППА, СРЕДНЯЯ ОЦЕНКА. Реализовать

функции:

- просмотр полей;

- сортировка по ФИО.

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

%Лабораторная работа №1 вариант 10

%автор Кононенко О.С.

Domains

      s=string

      n=integer  

      c=char

      fio=string

      avg=real

      group=string

Database -db

       stdda(fio,group,avg) %основная БД 1

Database -db1

       stdda1(fio,group,avg)%БД 2 для сортировки

Predicates

start %цель

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

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

find(fio) %поиск

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

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

 sort%Сортировка БД по возрастанию

 minfind(fio,fio)%Поиск ми нимального элемента в БД 1

 form(fio)%формирование БД2

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

 printBD(s,fio,group,avg)%Печать содержимого БД 1

 printData(fio,group,avg)%Вспомогательное высказывание при печати БД

 correct% Корректировка файла БД после сортировки

Goal

   start.

Clauses

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

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

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

       consult("students.bd",db),

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

       write("2-Поиск студента."),nl,

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

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

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

       write("6-Выход"),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,write("2-Нет."),nl,

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

       sel(C1).

       

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

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

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

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

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

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

sel(S):-S="2b",makewindow(3,27,57,"Поиск записи",7,17,3,60),

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

        readln(STR),

        removewindow,

        find(STR).  

sel(S):-S="6b",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.

find(FIO):-printBD("Результаты поиска",FIO,_,_);

           readln(X),

           removewindow,

           start.

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=8-T2,tab(T3),

                write("|",Z1),str_len(Z1,Z2),Z3=13-Z2,tab(Z3),write("|"),nl,fail.

 

 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. Иррационализм ограничивает или отрицает возможности разума в процессе познания и делает основой миропон
8. 3 Относительная численность представителей отряда Chiropter
9. Электричество и магнетизм
10. Средняя общеобразовательная школа 8 посёлка Катасон Будённовского района МЕХАНИЧЕСКОЕ Д