VFP 实验参考答案

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

 

posted @ 2014-05-08 19:11  shugen  阅读(392)  评论(0编辑  收藏  举报