popovIliya

wheather forecast in jess

Nov 13th, 2021
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.14 KB | None | 0 0
  1. ;;;=======================================================
  2. ;;;    Илия Попов ИСТ-2 ФК202514*****
  3. ;;;    Контролно; условие: Да се напише експертна система,
  4. ;;;    коята определя какво ще е времето.
  5. ;;;    Като може да се въвежда времето от конзолата.
  6. ;;;    Предложеното решение е в най-опростен вариант!
  7. ;;;=======================================================
  8.  
  9. ;;****************
  10. ;;* DEFFUNCTIONS *
  11. ;;****************
  12.  
  13.  
  14. (deffunction ask()
  15.     (printout t "Какво е времето? ")
  16.     (bind ?enter  (read))
  17.     (if (neq ?enter "")then
  18.         (bind ?enter (lowcase ?enter))
  19.         )
  20.     return ?enter  
  21.     )
  22. (defglobal ?*answer* = "")
  23. (bind ?*answer* (ask))
  24. ;;****************
  25. ;;* deftemplate  *
  26. ;;****************
  27.  
  28. (deftemplate weather-conditions
  29.     (slot warm)
  30.     (slot cold)
  31.     (slot wet)
  32.     (slot foggy)
  33.     (slot frozen)
  34. )
  35.  
  36. (assert (weather-conditions (warm "Времето е слънчево и топло")
  37.         (cold "Времето е студено и може да вали сняг")
  38.         (wet "Времето е влажно и може да вали")
  39.         (foggy "Времето е мъгливо и може да вали дъжд или сняг")
  40.         (frozen "Времето е много студено и навън всичко е замръзнало")))
  41.  
  42. ;;****************
  43. ;;* defrule      *
  44. ;;****************
  45.  
  46. (defrule what-is-the-weather
  47.     (weather-conditions (warm ?w) (cold ?c) (wet ?wt) (foggy ?f) (frozen ?fr))
  48.     =>
  49.     (if (= ?*answer* "слънчево")then
  50.         (printout t ?w)
  51.         elif(= ?*answer* "студено")then
  52.             (printout t ?c)
  53.         elif(= ?*answer* "дъждовно")then
  54.             (printout t ?wt)
  55.         elif(= ?*answer* "мъгливо")then
  56.             (printout t ?f)
  57.         elif(= ?*answer* "замръзнало")then
  58.             (printout t ?fr)
  59.         else
  60.         (printout t "Не зная какво е времето!")
  61.         )
  62.     )
  63. (run)
Advertisement
Add Comment
Please, Sign In to add comment