1. 使用for循环计算1到1000之间能既能被7整除也能被11整除的所有的数的和。(结果为6006)源程序代码
sum=0
i=1
for i=1 to 1000
if((i%7=0) and(i%11=0))then
sum=sum+i
endif
endfor
?sum
2 将上题(第1题)写改成do while循环来设计程序。
sum=0
i=1
do while i<1000
i=i+1
if((i%7=0) and(i%11=0))then
sum=sum+i
endif
enddo
?sum
3 从键盘任意输入一整数n,计算n的阶乘。
input "输入您需要计算的数值:" to n
i=2
res=1
do while i<=n
res=i*res
i=i+1
enddo
?res
4. 将自由表设置为默认目录,利用当循环(do while--enddo)设计程序,统计工资表中工资>1220员工人数,并输出,程序文件名为sy1.prg,写出源程序代码
set talk off
clear
use 职工表.dbf
n=0
loca for 工资>1220
do while .not.eof()
n=n+1
continue
enddo
?n
5. 将自由表设置为默认目录,利用指针循环(scan--endscan)设计程序统计,统计统计工资表中工资>1220员工人数,并输出,程序文件名为sy2.prg,写出源程序代码
set talk off
clear
use 职工表.dbf
n=0
scan for 工资>1220
n=n+1
endscan
?n
6. 已知数列an=an-1+an-2, a1=1,a2=3,设计程序从键盘任意输入一整数x,输出第x项的值,如输入3,表示输出a3,则输出4,若输入4,则输出7,程序文件名为sy3.prg写出源程序代码
input "请输入数据:" to n
res=0
if n>=1 then
res=fbnj(n)
endif
?res
func fbnj
paran
p=1
docase
casen=1
return1
casen=2
return3
casen>2
returnfbnj(n-1)+fbnj(n-2)
endcase
endif
func f
paran
ifn=1 then
return1
else
ifn=2 then
return3
else
returnf(n-1)+f(n-2)
endif
endif
input "input n" to n
a1=1
a2=3
an=0
for i=3 to n
an=a2+a1
a1=a2
a2=an
endfor
?an