4 条件函数与循环函数(整合版)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
循环函数while的应用技巧
循环函数while的应用技巧
循环函数while的应用技巧
循环函数while的应用技巧
Leabharlann Baidu
2、一定要在循环执行中存在不符合While条件才能脱离 循环,否则就是死循环
条件函数
(if <条件> <表达式1>[<表达式2>]) 单分支条件函数,如果<条件>成立,则执行<表达式 1>,并返回<表达式1>的值,否则执行<表达式2>,并返 回其值,若无<表达式2>,返回NIL (cond (<条件1> <表达式1>) (<条件2><表达式2>) … (<条件N><表达式N>) ) 多分支条件函数,函数依次对<条件1>—<条件n>求 值,哪一个条件值为真,就执行对应的表达式,并返回 该表达式的值。若所有条件的求值结果均为NIL,则返回 NIL。
循环函数repeat的应用技巧
3、最后的总和表达式(princ “\n 总和snum=”)(princ snum) 若想将它显示在对话框画面上,可改写如下:
循环函数repeat的应用技巧
循环函数repeat的应用技巧
思考
目标1:改写repeatxt1.lsp,计算从整数A相乘到整数B的结果, 如A=3,B=9,欲求的结果=3*4*5*6*7*8*9,并将结果以对话 框显示在画面中 目标2:改写repeatxt2.lsp,加入一个方向判断式,希望能在输 入以下我们条件后,自动画出左或右N阶的楼梯:1)楼梯基 准点 2)楼梯宽 3)楼梯高 4)自动画出N阶楼梯 5)画楼梯 的方向是向左L还是右R 还可以增加旋转方向
循环函数
(repeat <数> <表达式>…)
按给定的数,重复计算循环内<表达式>的<数>(正整 数)次,返回最后一个表达式的计算结果
(while <条件> <表达式>…)
按给定条件循环函数.当<条件>成立时,执行表达式 的内容,直到条件不成立跳出循环,并返回最后一个<表 达式>的求值结果
讨论与练习
条件函数if的应用技巧
目标:写一个程序,当输入A0、A1、A2、A3、A4后,能自 动画出指定图纸大小 的矩形图框 3、多重的IF判断式,最好用cond整合,较为专业、清楚 和简洁 (cond ((= size “A0”) (setq p2 ‘(1189 841) )) ((= size “A1”) (setq p2 ‘(841 594))) ((= size “A2”) (setq p2 ‘(594 420) )) ((= size “A3”) (setq p2 ‘(420 297) )) ((= size “A4”) (setq p2 ‘(297 210) )) (T (setq p2 ‘(420 297) )) )
应多个执行表达式,每个条件和它的执行表达式 形成一个子表,各个子表之间是有先后顺序的。
progn函数:在只能使用一个表达式的地方, 可用progn函数来完成多个表达式的计算
条件函数的应用技巧
目标:写一个程序,当输入A0、A1、A2、A3、A4后,能自 动画出指定图纸大小 的矩形图框
目标:写一个程序,当输入A0、A1、A2、A3、A4后,能自 动画出指定图纸大小 的矩形图框
4.2 条件函数
1 单分支条件函数if
y 2 x,0 x 3 y x 1, x 3
{
返回
4.2 条件函数
返回
3 顺序控制函数progn
4.2 条件函数
4.2 条件函数
IF函数:针对一个条件,要么执行表达式1,要么
执行表达式2,属于单分支条件函数
cond函数:属于多分支条件函数,多个条件,对
条件函数if的应用技巧
目标:写一个程序,当输入A0、A1、A2、A3、A4后,能自 动画出指定图纸大小 的矩形图框 1、若严格控制用户不能输入A0-A4以外的字符串,则须配 合initget与getkword两个函数 (setq size (getkword "请输入图纸大小: A0,A1,A2,A3,A4,<A3>:"))
4.3 循环函数
循环函数训练与讨论
4.3 循环函数
循环函数repeat的应用技巧
循环函数repeat的应用技巧
循环函数repeat的应用技巧
1、 (setq snum 0)预设是很重要的,否则snum不存在 , 后面repeat循环中,(setq snum (+ snum num_add) )表达 式也不成立,出现错误信息:不正确的自变量类型 2、重得计算的次数也很重要:num_e-num_s+1,可以有 以下几种写法:
(setq i 1) (while (< i 10) (if (= i 3) (setq i 11)) (princ (* i i)) (setq i (1+ i)) )
讨论与练习
4.4 嵌套函数
功能:处理表的函数,通过调用<函数>来对<表>进行求值, 并返回求值结果 1:apply函数要对参数求值,如果参数不为变量,必尖加 ‘禁止求值符号
条件函数if的应用技巧
4.3 循环函数
(repeat <数> <表达式>…)按给定的数,重复计算
循环内<表达式>的<数>(正整数)次,返回最后一个表 达式的计算结果
(while <条件> <表达式>…)按给定条件循环函数.
当<条件>成立时,执行表达式的内容,直到条件不成立 跳出循环,若循环内的表达式无法让条件不成立,此循 环将变成无限循环
CAD 程序设计方法
四、条件函数与循环函数
条件函数与循环函数的重要性
1 根据一定的条件,有选择地执行特定的程序段; 而且某些动作需要一而再、再而三的重复执行。
4.1 测试函数
4.2 条件函数
(if <条件> <表达式1>[<表达式2>])如果<条件>求值结 果为非NIL,执行<表达式1>,并返回<表达式1>的值, 否则执行<表达式2>,并返回其值,若无<表达式2>,返 回NIL (cond (<条件1> <表达式1>) (<条件2><表达式2>) … (<条件N><表达式N>) )该函数依次对<条件1>—<条件n>求值,哪一个条件值 为真,就执行对应的表达式,并返回该表达式的值。若 所有条件的求值结果均为NIL,则返回NIL。 (progn <表达式>…)计算每一个<表达式>的值,并返回 最后一个<表达式>的值