条件函数与循环函数整合.ppt

条件函数与循环函数整合

CAD 程序设计方法 教师:李敬敏 四、条件函数与循环函数 条件函数与循环函数的重要性 4.1 测试函数 1 测试是否为原子函数 (atom项) 4.2 条件函数 4.2 条件函数 1 单分支条件函数if 4.2 条件函数 2多分支函数cond 讨论与练习 4.2 条件函数 3 顺序控制函数progn 4.2 条件函数 条件函数的应用技巧 条件函数if的应用技巧 条件函数if的应用技巧 条件函数if的应用技巧 4.3 循环函数 4.3 循环函数 循环函数训练与讨论 4.3 循环函数 循环函数训练与讨论 循环函数repeat的应用技巧 循环函数repeat的应用技巧 循环函数repeat的应用技巧 循环函数repeat的应用技巧 循环函数repeat的应用技巧 循环函数repeat的应用技巧 思考 循环函数while的应用技巧 循环函数while的应用技巧 循环函数while的应用技巧 循环函数while的应用技巧 条件函数 循环函数 讨论与练习 讨论与练习 4.4 嵌套函数 4.4 嵌套函数 4.4 嵌套函数 4.4 嵌套函数 4.5 形参赋值函数 4.5 形参赋值函数 小结 这一章重点在条件函数和循环函数,也是在程序设计中的重中之重 希望大家把这一章中例题好好练习,并能顺利解决,相信学习进程就已经向前迈一大步了,如果觉得头晕脑胀的,可以好好休息一天,再来挑战 一定不要让这一章成为你学习AutoLIsp的终结者 1 (apply 函数 表) 功能:处理表的函数,通过调用函数来对表进行求值,并返回求值结果 注意: 1:apply函数要对参数求值,如果参数不为变量,必尖加‘禁止求值符号 (apply ’max ‘(1 2 3 4 5)) 2:表中元素个数、类型和顺序要和函数要求的参数一致 (apply ‘setq ‘(a 1.0 b 3.0 c “yes”)); (apply ‘abs ‘(-5.0)); (apply ‘strcat ‘(“a” “b” “c”)) 2 (mapcar 函数 表1…… 表n ) 功能:把表1…表n中对应位置上的元素作为函数参数的调用,并对进行求值,按求值顺序构成一个表作为返回值。 (mapcar ‘+ ‘(1 2 3) ‘(4 5 6) ‘(7 8 9)) 返回(12 15 18) 注意: 1) 表1… 表n中各表的数目必须和函数所要求的参数数目相适应。 (mapcar ‘1- ‘(5 4 3 2 )) ;返回(4 3 2 1 ) (mapcar ‘eq ‘(1 2 a b ) ‘(1 a c b)) ;返回(T nil nil T ) 注意: 2)不对表中元素求值 (setq a 2 b 3) 2 (mapcar 函数 表1…… 表n ) 功能:把表1…表n中对应位置上的元素作为函数参数的调用,并对进行求值,按求值顺序构成一个表作为返回值。 (mapcar ‘* ‘(a b) ‘(1 2)) (mapcar ‘+ (list a b) ‘(1 2)) 3)表的长度决定了函数调用次数,也决定了mapcar返回表的长度。若各个表长度不等,只循环其中的最小长度数 (mapcar ‘* ‘(5 6 7) ‘(1 2)) (mapcar ‘* ‘(12 5 7 4) ‘(5)) ;返回 (60) ;返回 (5 12) 注意: 4)若函数不是一个变量,在其前必须加一个‘来阻止求值,否则出错。 2 (mapcar 函数 表1…… 表n ) 功能:把表1…表n中对应位置上的元素作为函数参数的调用,并对进行求值,按求值顺序构成一个表作为返回值。 (mapcar + ‘(3 4) ‘(1 2)) ;返回 (4 6) ;返回函数错误 (setq plus ‘+) (mapcar plus ‘(3 4) ‘(1 2)) (foreach 变量名 表 表达式 …) 功能:该函数将依次把表中每一个顶层元素赋给变量名,对各表达式进行求值,返回最后一个表达式的求值结果。 练习1: (foreach x ‘(2 4 6) (* x x)) ;返回36 练习2: foreach-1.lsp 1 (foreach 变量名 表 表达式 …) 功能:该函数将依次把表中每一个顶层元素赋给变量名,对各表达式进行求值,返回最后一个表达式的求值结果。 练习3:foreach-2.lsp 给一个变量表中各变量赋值 * * 1 根据一定的条件,有选择地执行特定的程序段;而且某些动作需要一而再、再而三的重复执行。 2 主要学习内容: 1)测试函数 2)条件函数 3)循环函数 5)形参赋值函数 4)嵌套函

文档评论(0)

1亿VIP精品文档

相关文档