- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
参数传递 接受参数的过程或函数的第一句必须是PARAMETERS 参数列表 传递的参数一般与接收参数数目相等,许少不许多。 参数之间用逗号分隔,最多27个。 传递参数有两种方式: 按引用方式:SET UDFPARMS TO REFERENCE 按值方式:SET UDFPARMS TO VALUE 强制传递方式: 用括号括起变量,表示按值传递 在变量前加上@,表示按引用传递 参数传递的两种方式 值传递(传值) 主程序中的值不变化 (x) Set udfparams to value 引用传递(传地址) 主程序中的值变化 @x Set udfparams to reference 123 123 123 123 123 123 456 456 类似于借讲义,值传递相当于复印了一份, 而引用传递相当于直接修改 循环结构的语法格式——FOR FOR 循环变量=初值 TO 终值 [STEP 步长] 命令组 ENDFOR 特点:循环次数固定 初值—循环变量 循环变量=终值 步长为负时,要求=终值 是 命令组 否 循环变量+初值 计算1+2+3+……100 算法:先对前面的数求和,保存在一个变量中,再与当前数相加 S=0 For I=1 to 100 S=S+I ENDFOR ?S 问题:循环结束后I的值? FOR X =a TO b STEP c 语句序列 ENDFOR 相当于 X =a DO WHILE X= b 语句序列 X =X+c ENDDO 方法一: S=0 I=1 DO WHILE I=100 S=S+I I=I+1 ENDDO ?S 方法二: S=0 FOR I=1 TO 100 S=S+I ENDFOR ?S 例:求1至100之间的整数和 求1!+2!+….10! clear p=1 s=0 for i=1 to 10 p=p*i s=s+p ?p,s endfor ?p,s FOR循环举例 打印10个“*” 将上面的程序循环执行10次 打印右侧图形 打印右侧图形 如果换成这个图形呢? * ** *** **** ***** ***** **** *** ** * * *** ***** ******* ********* FOR循环举例 计算1+2+3+……10 计算1*2*3*……10 计算1!+2!+3!+……+10! 累加示例 计算S=1+3+5+…+99S=0 FOR I=1 TO 99 STEP 2 S=S+IENDFOR 计算N=1*1+2*2+3*3+…+10*10N=0 FOR J=I TO 10 N=N+J*JENDFOR 累乘示例 计算P=3*5*7*…*25P=1 FOR K=3 TO 25 STEP 2 P=P*KENDFOR 计算10!F=1FOR I=1 TO 10 F=F*IENDFOR 随机数示例 随机产生10个10~50的随机整数DIME A(10)FOR I=1 TO 10 A(I)=INT((50-10+1)*RAND())+10 ENDFOR 随机生成一个4行8列的矩阵DIME B(4,8)FOR I=1 TO 4 FOR J=1 TO 8 B(I,J)=INT(10*RAND()) NEXT JNEXT I 闰年问题 判断2000~2110年之间的闰年 一个年份满足以下条件之一即为闰年: 能被4整除且不能被100整除 能被400整除 nyear%4=0 and nyear%1000 or nyear%400=0 **判闰年 clear for nyear=2000 to 2110 if nyear%4=0 and nyear%1000 or nyear%400=0 ? str(nyear)+是闰年 inkey(0.5) endif endfor DO? WHILE? 条件 ???? ??????????? 命令序列 ENDDO 循环什么时候结束? 怎么实现循环的结束? 改变循环变量 执行EXIT语句 初值—循环变量 条件成立 是 命令序列 否 改变循环变量 显示教材表中JCMC,CBSMC: CLEAR CLOSE TABLE ALL USE JC DO WHILE NOT EOF() DISPLAY JCMC,CBSMC SKIP END
文档评论(0)