vfp实验13
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
变量作用范围
Note 例7-30内存变量作用域示例,程序文件 内存变量作用域示例, 内存变量作用域示例 程序文件main1.prg clear all a=1 B=2 ?’主模块中’,’a=‘,a,’b=‘,b 主模块中’ 主模块中 do sub1 ?’返回主模块后’,’a=‘,a,’b=‘,b,’c=‘,c,’d=‘,d ; 返回主模块后’ 返回主模块后 &&第三次显示 第三次显示 return &&第一次显示 第一次显示 &&释放内存变量 释放内存变量
解答
note 1+1/1!+1/2!+...+1/20!二层循环 二层循环 clear clear all s=0 for i=0 to 20 t=1 for j=1 to i t=t*j next j s=s+1/t next i ?[S=:]+str(s,10,8) :
解答
note 1+1/1!+1/2!+...+1/20!一重循环 一重循环 clear clear all s=1 t=1 for i=1 to 20 t=t*i s=s+1/t next i ?[S=:]+str(s,10,8) :
求1 + 1 / 1!+1 / 2!+1 / 3!+... + 1 / N !,若N取1000, 结果约为多少?
解答
note 1+1/1!+1/2!+...+1/20! 子程序调用 clear clear all t1=datetime() s=1 for i=1 to 20 do fac s=s+1/t next i ?[S=:]+str(s,10,8) : t2=datetime() ?"计算用时 计算用时"+str(t2-t1,8,6) 计算用时 ******************************************* note 过程名为阶乘 过程名为阶乘fac.prg public t t=1 for j=1 to i t=t*j next j endproc
模块编程
[EXAM] 求
100 20 10 1 50 + ∑ k + ∑ k2 + ∑ kk k k =பைடு நூலகம் k =1 k =1
∑
k =1
和过程文件myproc.prg 见程序 main2.prg和过程文件 和过程文件
Main2.prg
note 四个累加程序 四个累加程序main2.prg clear clea all set procedure to myproc &&打开过程文件 打开过程文件myproc 打开过程文件 store 0 to x1,x2,x3,x4 *************** do s1 with 100,x1 &&累加 累加100内的倒数 累加 内的倒数 do s2 with 50,x2 &&累加 内的数 累加50内的数 累加 do s3 with 20,x3 &&累加 内的平方数 累加20内的平方数 累加 do s4 with 10,x4 &&累加 内的数 的n次方 累加10内的数 累加 内的数n的 次方 w=x1+x2+x3+x4 ?"四个累加结果是 w= ",w 四个累加结果是: 四个累加结果是 Set proc to &&关闭过程文件 关闭过程文件
编写一程序,能够将输入的一英文字符串,将能以倒序输出。 编写一程序,能够将输入的一英文字符串,将能以倒序输出。 例输入的是“ 例输入的是“ABCDEF”,将输出为“FEDCBA”。 ,将输出为“ 。
Note 倒序输出 clear accept [请任意输入一文本内容: ] 请任意输入一文本内容: to S 请任意输入一文本内容 X=LEN(S) RE=[] K=1 DO WHILE K<=X C=SUBSTR(S,K,1) &&从S字符串的第 个开始取一个字 字符串的第K个开始取一个字 从 字符串的第 符 RE= C+RE &&将取出的一个字符连接在上次字符串的 将取出的一个字符连接在上次字符串的 左边 K=K+1 ENDDO ?"倒序输出:"+RE 倒序输出: 倒序输出
过程文件: 过程文件:Myproc.prg
proc s1 para n,s for i=1 to n S=S+1/i endfor return proc s2 para n,s for i=1 to n S=S+i endfor return proc s3 para n,s for i=1 to n S=S+i^2 endfor return proc s4 para n,s for i=1 to n S=S+i^i endfor return
20
3.求 求
∑
n =1
1 (即求 1 / 1!+ 1 / 2!+ 1 / 3!+ ... + 1 / 20! ) n!
解答
习题3.参考答案之一 习题 参考答案之一 clear clear all s=0 for i=1 to 20 do fac s=s+1/t next i ?[S=:]+str(s,10,8) : ******************************************* procedure fac &&过程名为阶乘 过程名为阶乘factorial 过程名为阶乘 public t t=1 for j=1 to i t=t*j next j endproc
练习题
1. 编程求
(x + y)!(y + z)! 子模块结果分别用全局变量和参数传递)。 (子模块结果分别用全局变量和参数传递)。 (z + x)!
2.一钢管内半径为 一钢管内半径为0.25m,外径为 一钢管内半径为 ,外径为0.35m,长10m,求这钢管的重量?(一立 , ,求这钢管的重量? 一立 方这种钢材重7800kg)。 方这种钢材重 。
解答
习题4. 下列程序段执行时在屏幕上显示的结果是( 习题 下列程序段执行时在屏幕上显示的结果是( 计算机等级考试二级VF笔试真题 计算机等级考试二级 笔试真题 19]。 。 X1=20 X2=30 DO test With X1,X2 ?X1,X2 PROCEDURE test PARAMETERS a,b x=a a=b b=x ENDPRO A. 30 30 B.30 20 C.20 20 D. 20 30 )[2009年9月 年 月
解答
note 1+1/1!+1/2!+...+1/20! 过程调用 clear clear all t1=datetime() s=1 for i=1 to 20 do fac s=s+1/t next i ?[S=:]+str(s,10,8) : t2=datetime() ?"计算用时 计算用时"+str(t2-t1,8,6) 计算用时 ******************************************* procedure fac &&过程名为阶乘 过程名为阶乘factorial 过程名为阶乘 public t t=1 for j=1 to i t=t*j next j endproc
变量作用范围
note 子模块 子模块subp1.prg private b Public c a=10 b=11 c=12 d=13 &&系统默认为子模块的局部变量 系统默认为子模块的局部变量 &&第二次显示 第二次显示 return ?’子模块后中’,’a=’,a,’b=’,b,’c=’,c,’d=’,d; 子模块后中’ 子模块后中 &&定义为局部变量 定义为局部变量