CLIPS - 从出生年份的插槽 deftemplate 打印学生的年龄 (defrule)

七月

我有deftemplate:

    (deftemplate student
    (multislot fio (type SYMBOL)(cardinality 1 3))
    (slot den_rozhdeniya (type INTEGER))
    (slot mecyaz_rozhdeniya (type SYMBOL))
    (slot god_rozhdeniya (type INTEGER))
    (multislot data_postupleniya (type SYMBOL NUMBER))
    (slot facultet (default fit)(type SYMBOL))
    (slot gruppa (type SYMBOL INTEGER))
    (multislot adress (type SYMBOL INTEGER))
    (multislot telefon (type NUMBER))
    (slot sredniy_ball(range 0 10) (type INTEGER FLOAT))
)

还有一个有5个学生:

(assert (student(fio Semenova Yuliya Igorevna) (den_rozhdeniya 10)(mecyaz_rozhdeniya oktyabr) (god_rozhdeniya 2000) (data_postupleniya 29 avgust 2014)(gruppa 14-itd) (adress Molodeznaya 108, kv. 10) (telefon 23 56 89) (sredniy_ball 9.5))

(student(fio Korneeva Alina Sergeevna) (den_rozhdeniya 5)(mecyaz_rozhdeniya yanvar) (god_rozhdeniya 2001) (data_postupleniya 29 avgust 2015)(gruppa 15-itd) (adress Kalinina 8, kv. 4) (telefon 43 45 02) (sredniy_ball 8.5))

(student(fio Lenskaya Ekaterina Antonovna) (den_rozhdeniya 10)(mecyaz_rozhdeniya yanvar) (god_rozhdeniya 2000) (data_postupleniya 29 avgust 2016)(gruppa 16-itd) (adress Molodeznaya 1, kv. 78) (telefon 23 56 89) (sredniy_ball 7))

(student(fio Petrov Slava Andreevich) (den_rozhdeniya 8)(mecyaz_rozhdeniya may) (god_rozhdeniya 2002)(data_postupleniya 29 avgust 2017)(gruppa 17-itd) (adress Pyshkina 5, kv. 13) (telefon 23 85 12) (sredniy_ball 5.5))

(student(fio Ivanova Svetlana Kirilovna)(den_rozhdeniya 25)(mecyaz_rozhdeniya avgust) (god_rozhdeniya 2001) (data_postupleniya 29 avgust 2015)(gruppa 15-itd) (adress Molodeznaya 5, kv. 45) (telefon 78 32 51) (sredniy_ball 9))
)

而且我找不到解决方案,如何在学生的这个年龄限制下进行打印。

(god_rozhdeniya 2000)这是带有出生年份和打印输出的插槽应该是这样的:

塞梅诺娃·尤利娅·伊戈列夫娜 18

这是我的 defrule 无法正常工作:

(defrule first
(student (fio ?fio)(god_rozhdeniya ?god_rozhdeniya) (age ?age)
(?age (- 2018 ?god_rozhdeniya))
=>
(printout t ?fio  ? age crlf))
加里·莱利
         CLIPS (6.31 2/3/18)
CLIPS> 
(deftemplate student
    (multislot fio (type SYMBOL)(cardinality 1 3))
    (slot den_rozhdeniya (type INTEGER))
    (slot mecyaz_rozhdeniya (type SYMBOL))
    (slot god_rozhdeniya (type INTEGER))
    (multislot data_postupleniya (type SYMBOL NUMBER))
    (slot facultet (default fit)(type SYMBOL))
    (slot gruppa (type SYMBOL INTEGER))
    (multislot adress (type SYMBOL INTEGER))
    (multislot telefon (type NUMBER))
    (slot sredniy_ball(range 0 10) (type INTEGER FLOAT)))
CLIPS> 
(deffacts students 
   (student (fio Semenova Yuliya Igorevna) 
            (den_rozhdeniya 10)
            (mecyaz_rozhdeniya oktyabr)
            (god_rozhdeniya 2000)
            (data_postupleniya 29 avgust 2014)
            (gruppa 14-itd)
            (adress Molodeznaya 108, kv. 10)
            (telefon 23 56 89)
            (sredniy_ball 9.5))
   (student (fio Korneeva Alina Sergeevna)
            (den_rozhdeniya 5)(mecyaz_rozhdeniya yanvar)
            (god_rozhdeniya 2001)
            (data_postupleniya 29 avgust 2015)
            (gruppa 15-itd)
            (adress Kalinina 8, kv. 4)
            (telefon 43 45 02)
            (sredniy_ball 8.5))
   (student (fio Lenskaya Ekaterina Antonovna)
            (den_rozhdeniya 10)
            (mecyaz_rozhdeniya yanvar)
            (god_rozhdeniya 2000)
            (data_postupleniya 29 avgust 2016)
            (gruppa 16-itd)
            (adress Molodeznaya 1, kv. 78)
            (telefon 23 56 89)
            (sredniy_ball 7))
   (student (fio Petrov Slava Andreevich)
            (den_rozhdeniya 8)
            (mecyaz_rozhdeniya may)
            (god_rozhdeniya 2002)
            (data_postupleniya 29 avgust 2017)
            (gruppa 17-itd)
            (adress Pyshkina 5, kv. 13)
            (telefon 23 85 12)
            (sredniy_ball 5.5))
   (student (fio Ivanova Svetlana Kirilovna)
            (den_rozhdeniya 25)
            (mecyaz_rozhdeniya avgust) 
            (god_rozhdeniya 2001) 
            (data_postupleniya 29 avgust 2015)
            (gruppa 15-itd) 
            (adress Molodeznaya 5, kv. 45) 
            (telefon 78 32 51) 
            (sredniy_ball 9)))
CLIPS> 
(defrule first
   (student (fio $?fio)
            (god_rozhdeniya ?god_rozhdeniya))
  =>
  ;(bind ?year 2018)
  (bind ?year (nth$ 1 (local-time)))
  (printout t (implode$ ?fio) " " (- ?year ?god_rozhdeniya) crlf))
CLIPS> (reset)
CLIPS> (run)
Ivanova Svetlana Kirilovna 17
Petrov Slava Andreevich 16
Lenskaya Ekaterina Antonovna 18
Korneeva Alina Sergeevna 17
Semenova Yuliya Igorevna 18
CLIPS> 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CLIPS deftemplate 错误的插槽类型

来自分类Dev

仅在perl上使用出生年份来获取年龄

来自分类Dev

SAS根据出生年份和完整的结束日期计算年龄

来自分类Dev

SQL计算年龄。在DATE())上使用DatePart减去出生年份

来自分类Dev

我可以根据字典中的出生年份计算年龄值吗?

来自分类Dev

是否可以通过使用javascript中的正则表达式来计算以输入年份为出生年龄的年龄?

来自分类Dev

在给定出生年份(SQL)的情况下如何将人们分为年龄段

来自分类Dev

如果在一列中提供了出生年份,如何在MS Excel中计算年龄?

来自分类Dev

当整个学生对象都是唯一的时,为什么TreeSet的学生年龄不能相似?

来自分类Dev

在CLIPS中获取事实并打印参数

来自分类Dev

CLIPS 打印输出规则触发次数

来自分类Dev

缺少“打印输出”CLIPS 的函数声明

来自分类Dev

如何根据组和出生年份获得排名

来自分类Dev

无法在CLIPS消息处理程序中引用继承的插槽

来自分类Dev

如何通过从出生日期中减去当前年份来获得年龄

来自分类Dev

在日期类型中更改年份值的范围,以适应可能的出生年份Rails,Simple_Form,HTML

来自分类Dev

无法在Jess的Defrule RHS中调用事实

来自分类Dev

其他defmodules如何从MAIN导入defclass和deftemplate

来自分类Dev

如何在出生日期的日期字段中提取年份并在django views.py中计算人的年龄?

来自分类Dev

在CLIPS中终止指令

来自分类Dev

CLIPS规则触发多次

来自分类Dev

CLIPS性能问题

来自分类Dev

CLIPS的开发循环

来自分类Dev

CLIPS验证文本输入

来自分类Dev

CLIPS条件规则

来自分类Dev

在 CLIPS 中获取议程

来自分类Dev

结果的重复 [CLIPS]

来自分类Dev

使用逻辑和在 CLIPS

来自分类Dev

从出生日期算起年龄

Related 相关文章

  1. 1

    CLIPS deftemplate 错误的插槽类型

  2. 2

    仅在perl上使用出生年份来获取年龄

  3. 3

    SAS根据出生年份和完整的结束日期计算年龄

  4. 4

    SQL计算年龄。在DATE())上使用DatePart减去出生年份

  5. 5

    我可以根据字典中的出生年份计算年龄值吗?

  6. 6

    是否可以通过使用javascript中的正则表达式来计算以输入年份为出生年龄的年龄?

  7. 7

    在给定出生年份(SQL)的情况下如何将人们分为年龄段

  8. 8

    如果在一列中提供了出生年份,如何在MS Excel中计算年龄?

  9. 9

    当整个学生对象都是唯一的时,为什么TreeSet的学生年龄不能相似?

  10. 10

    在CLIPS中获取事实并打印参数

  11. 11

    CLIPS 打印输出规则触发次数

  12. 12

    缺少“打印输出”CLIPS 的函数声明

  13. 13

    如何根据组和出生年份获得排名

  14. 14

    无法在CLIPS消息处理程序中引用继承的插槽

  15. 15

    如何通过从出生日期中减去当前年份来获得年龄

  16. 16

    在日期类型中更改年份值的范围,以适应可能的出生年份Rails,Simple_Form,HTML

  17. 17

    无法在Jess的Defrule RHS中调用事实

  18. 18

    其他defmodules如何从MAIN导入defclass和deftemplate

  19. 19

    如何在出生日期的日期字段中提取年份并在django views.py中计算人的年龄?

  20. 20

    在CLIPS中终止指令

  21. 21

    CLIPS规则触发多次

  22. 22

    CLIPS性能问题

  23. 23

    CLIPS的开发循环

  24. 24

    CLIPS验证文本输入

  25. 25

    CLIPS条件规则

  26. 26

    在 CLIPS 中获取议程

  27. 27

    结果的重复 [CLIPS]

  28. 28

    使用逻辑和在 CLIPS

  29. 29

    从出生日期算起年龄

热门标签

归档