VF程序设计复习资料(最新修订)
第二部分 结构化程序设计语句和算法
一、 顺序结构
程序设计的命令:
1. 变量的赋值
变量=表达式
2. 变量的输入
INPUT 提示信息 TO 变量
3. 表达式的输出
?表达式
表示在当前光标的下一行输出;
?? 表达式
表示在当前光标位置输出;
算法:
1.求园的面积
Clear
Input “r=” to r
S=3.14*r^2
?”园的面积是:”,s
Return
2.交换任意两个变量的值
Clear
Input “x=” to x
Input “y=” to y
t=x
x=y
y=t
? x
?y
RETURN
二、 选择结构
2.1 IF语句
IF 条件
命令序列A
ELSE
命令序列B
ENDIF
如果命令序列B为空,则ELSE与命令序列B可以省略。
算法:
1. 判断闰年
Clear
Input “y=” to y
If (y%4=0 and y%100<>0) or y%400=0
?”yes”
Else
?”no”
endif
return
2. 求3个数的最大值
Clear
Input “x=” to X
Input “y=” to Y
Input “z=” to Z
If x>y
maxnum=x
else
maxnum=y
endif
if maxnum<z
maxnum=z
endif
?maxnum
3、判断一个数是否是水仙花数。
clear
input "m=" to m
x=int(m/100)
y=int((m%100)/10)
z=m%10
if x^3+y^3+z^3=m
?”yes”
else
?”no”
endif
return
三、 循环结构
程序设计的命令:
1.Do while 条件
循环体
Enddo
2. For 循环变量=初值 TO 终值 STEP 步长
循环体
Endfor
其中步长为1时,STEP 1 可以省略。并且步长可以为正,也可以为负,步长为正时循环条件时循环变量<=终值,而步长为负时循环条件>=终值。
程序:
s=1+2+3 +100
Clear
i=1
s=0
Do while i<=100
s=s+i
i=i+1
Enddo
? s
return
2. 将上例用for语句实现
Clear
s=0
For i=1 to 100
s=s+i
endfor
? s
Return
3. 求1-100奇数的和。
Clear
s=0
For i=1 to 100 step 2
s=s+i
endfor
? s
Return
4. 求1-100偶数的和。
Clear
s=0
For i=2 to 100 step 2
s=s+i
endfor
? s
Return
5. 求s=1-1/2+1/3-1/4+....+1/100
clear
s=0
for i=1 to 100
s=s+ 1/i*(-1)^ (i+1)
endfor
Return
6. 求N!=1×2×3×4 ×N
Clear
Input “n=” to n
t=1
For i=1 to n
t=t*i
endfor
?f
return
7. 求s=1!+2!+ +n! (即求阶乘之和)
clear
input "n=" to n
s=0
t=1
for i=1 to n
t=t*i
s=s+t
endfor
?"s=",s
Return
8. 计算 s=1!+1/2!+1/3! +1/n! (即求阶乘之和)
用一重循环实现
clear
input "n=" to n
s=0
t=1
for i=1 to n
t=t*i
s=s+1/t
endfor
?"s=",s
return
-69. 计算 s=1!+1/2!+1/3! (要求1/n!<10为止)
clear
s=0
t=1
i=1
do while 1/t>=10^(-6)
s=s+1/t
i=i+1
t=t*i
endfor
?"s=",s
return
-610. 计算 s=1!-1/2!+1/3!-1/4! (要求1/n!<10为止)
clear
s=0
t=1
i=1
do while 1/t>=10^(-6)
s=s+1/t*(-1)*(i+1)
i=i+1
t=t*i
endfor
?"s=",s
Return
23n-611. 计算 s=x/1!-x/2!+x/3! ( 要求x/n!<10为止)
Clear
Input “x=” to x
s=0
t=1
i=1
do while x^i/t>=10^(-6)
s=s+(x^i/t)*(-1)*(i+1)
i=i+1
t=t*i
endfor
?"s=",s
return
12. 要求以5个为一组输出1-100的所有整数。
Clear
c=0
for i=1 to 100
??i
if i%5=0
?
Endif
endfor
return
13. 要求以5个为一组输出1-100中所有能被3整除的整数。
Clear
c=0
for i=1 to 100
if i%3=0
??i
c=c+1
if c%5=0
?
Endif
endif
endfor
return
14. 判断某个数是否是素数。(除了1和它本身之外不能被任何一个整数所整除的自然数叫
质数,又称为素数。)
设置变量f用于记录是否为素数,
flag=.t. 表示是素数;
flag =.f. 表示不是素数。
程序:
clear
input "m=" to m
flag=.T.
for i=2 to m-1
if m%i=0
flag =.F.
exit
endif
endfor
if flag =.T.
? "yes"
else
? "no"
endif
return
15. 输出100-1000以内的所有素数,并计算这些素数之和。要求:输出时按照每行5个数
据方式输出。
clear
s=0
n=0
for m=100 to 1000
flag=.t.
for i=2 to m-1
if m%i=0
flag=.f.
exit
endif
endfor
if flag=.t.
?? m
c=c+1
if c%5=0
?
endif
s=s+m
endif
endfor
?"s=",s
return
16. 输出100—999之间的所有的水仙花数。所谓水仙花数是指一个3位数,其每位数字的
立方和等于它本身。
clear
for m=100 to 999
x=int(m/100)
y=int((m%100)/10)或者 y=int(m/10)%10
z=m%10
if x^3+y^3+z^3=m
?m
endif
endfor
return
17. 求fibnocsi数列。fibnocsi数列即:数列第1个数为1,第2个数1,第3个数是第1、
2两个数之和,以后的每个数都是其前两个数之和,要求输出这个数列的前20项。 (直接用数组)
clear
f1=1
f2=1
?? f1,f2
for i=3 to 20
f=f2+f1
??f
f1= f2
f2= f
endfor
return
18. 求两个数的最大公约数。
算法:采用辗转相除法:m除以n,得余数r;如果r不等于0,则将n赋予m,r赋予n,再用m除以n,得余数r;依次类推,直到r=0为止,此时的n就是最大公约数。
Clear
Input "m=" to m
Input "n=" to n
r=m%n
do while r<>0
m=n
n=r
r=m%n
enddo
? n
Return
最大公倍数:M和n的乘积除以最 …… 此处隐藏:6037字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [公文资料]市场营销专员岗位职责
- [公文资料]综合部经理岗位职责
- [公文资料]会计助理岗位职责
- [公文资料]林业站站长职责
- [公文资料]菜品研发部岗位职责
- [公文资料]街道综治办工作职责
- [公文资料]酒店前台的工作职责
- [公文资料]销售部经理岗位职责
- [公文资料]工程部副经理岗位职责
- [公文资料]手术室护士工作职责
- [公文资料]银行客户经理职责
- [公文资料]汽车4s店市场专员职责
- [公文资料]服装店长工作职责
- [公文资料]采购总监岗位职责
- [公文资料]大学行政秘书工作职责
- [公文资料]学校财务人员岗位职责
- [公文资料]财务统计员岗位职责
- [公文资料]物业工程主管工作职责
- [公文资料]公司后勤工作职责
- [公文资料]采矿工程师岗位职责
- 门面出租合同样板(门面出租的合同)
- 自用房屋租赁合同 自住房租房合同(汇总
- 最新酒店劳动合同管理制度(11篇)(酒店
- 2025年无产权车库买卖合同实用(14篇)(
- 建筑工程农民工劳动合同十五篇(通用)(
- 最新深圳标准劳动合同 深圳劳动合同如
- 解除劳动合同通知书(实用6篇)(解除劳动
- 2025年二手房屋买卖合同范围精选(二十
- 最新融资贷款居间合同大全(22篇)(融资
- 2025年个人二手房屋买卖合同协议书四篇
- 2025年果树苗木买卖合约书 签订果树苗
- 广东省劳动合同书填写(21篇)(广东省劳
- 最新餐饮行业没有劳动合同 劳动法餐饮
- 农村土地买卖合同(汇总21篇)(农村土地
- 最新房屋转租合同模版21篇(通用)(标准
- 2025年进口合同号查询五篇(大全)(进口
- 农村建房包工包料合同(通用8篇)(农村建
- 2025年安装监控合同协议书(15篇)(2025
- 2025年企业租赁经营合同(模板9篇)(2025
- 最新郊区土地租赁合同(优质23篇)(最新




