Контрольная работа по "Программированию"
Автор: Slovom00 • Октябрь 11, 2022 • Контрольная работа • 319 Слов (2 Страниц) • 181 Просмотры
Задание:
Выполнить следующие действия:
- Разработать базу знаний ЭС в предметной области «Мебель».
- Написать программу, выполняющую функции ЭС, с использованием системы программирования SWI Prolog.
- Продемонстрировать работу программы.
- Составить отчет по лабораторной работе.
Таблица Холодильников:
Мебель | Вес | Объем хол. камеры |
'Самсунг' | 80 кг | 45 л |
'Атлас' | 90 кг | 70 л |
'Индезит' | 65 кг | 50 л |
'Атлант' | 65 кг | 60 л |
Бирюса | 60 кг | 70 л |
Бош | 80 кг | 90 л |
Горенье | 90 кг | 60 л |
Код программы:
run :- assertz(xpositive(' ',' ')), assertz(xnegative(' ',' ')),
nl,write(' * * * * * * * * * * * * * * * * * * * * * '),
nl,write(' ДОБРО ПОЖАЛОВАТЬ! '),
nl,write(' Проводится идентификация холодильника '),
nl,write(' Отвечайте, пожалуйста, да или нет '),
nl,write(' Вопрос по холодильку, который '),
nl,write(' Вы хотите определить '),
nl,write(' * * * * * * * * * * * * * * * * * * * * * * '), nl, expertiza.
expertiza :- hol_is(X), !, nl, write('Вероятно ваш холодильник – '), write(X), write('.'),
nl,clear_facts.
expertiza :- nl, write('Прости, я не смогу помочь!'), clear_facts.
vopros(X, Y):-write('вопрос – '),write(X),write(' '),
write(Y),write('? (да/нет) '),read(R),remember(X,Y,R).
positive(X,Y):-xpositive(X,Y),!.
positive(X,Y):-not(negative(X,Y)),!,vopros(X,Y).
negative(X,Y):-xnegative(X,Y),!.
remember(X,Y,'да'):-assertz(xpositive(X,Y)).
remember(X,Y,'нет'):-assertz(xnegative(X,Y)),fail.
...