Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;;=======================================================
- ;;; Илия Попов ИСТ-2 ФК202514*****
- ;;; Контролно; условие: Да се напише експертна система,
- ;;; коята определя какво ще е времето.
- ;;; Като може да се въвежда времето от конзолата.
- ;;; Предложеното решение е в най-опростен вариант!
- ;;;=======================================================
- ;;****************
- ;;* DEFFUNCTIONS *
- ;;****************
- (deffunction ask()
- (printout t "Какво е времето? ")
- (bind ?enter (read))
- (if (neq ?enter "")then
- (bind ?enter (lowcase ?enter))
- )
- return ?enter
- )
- (defglobal ?*answer* = "")
- (bind ?*answer* (ask))
- ;;****************
- ;;* deftemplate *
- ;;****************
- (deftemplate weather-conditions
- (slot warm)
- (slot cold)
- (slot wet)
- (slot foggy)
- (slot frozen)
- )
- (assert (weather-conditions (warm "Времето е слънчево и топло")
- (cold "Времето е студено и може да вали сняг")
- (wet "Времето е влажно и може да вали")
- (foggy "Времето е мъгливо и може да вали дъжд или сняг")
- (frozen "Времето е много студено и навън всичко е замръзнало")))
- ;;****************
- ;;* defrule *
- ;;****************
- (defrule what-is-the-weather
- (weather-conditions (warm ?w) (cold ?c) (wet ?wt) (foggy ?f) (frozen ?fr))
- =>
- (if (= ?*answer* "слънчево")then
- (printout t ?w)
- elif(= ?*answer* "студено")then
- (printout t ?c)
- elif(= ?*answer* "дъждовно")then
- (printout t ?wt)
- elif(= ?*answer* "мъгливо")then
- (printout t ?f)
- elif(= ?*answer* "замръзнало")then
- (printout t ?fr)
- else
- (printout t "Не зная какво е времето!")
- )
- )
- (run)
Advertisement
Add Comment
Please, Sign In to add comment