计算机类二级VFP

VF考试题库7

28 题含答案VFP
共 28 题返回本类
1材料分析题1 / 28
下列程序为求s=1-1/3+1/5-1/7+...-1/99之值,(精确到小数后两位), 程序中有错误。 改正后运行程序,将程序执行结果填入答案框内。
set talk off
s=0
n=1       
do while n<=99
s=s+1/n 
n=n+1     
enddo   
?s
return
查看答案
修改后:set talk off
s=0
n=1     
  i=1
do while n<=99
s=s+i/n
n=n+2 
i=-i
enddo   
?s
return
2材料分析题2 / 28
下面的程序是求3+9+27+81+243+...这样的数之和. 若累加数大于500时,则结束累加.程序中有一处错误。改正后运行程序,将程序执行结果填入答案框内。
      SET TALK OFF
      CLEAR
      X=3
      Y=0
DO WHILE .F.   
        Y=Y+X
        IF Y>500
            EXIT
        ENDIF
        STORE 3*X TO X
      ENDDO
        ?Y
    SET TALK ON
    RETURN
查看答案
Do while .f.  改为 Do while .t.
3材料分析题3 / 28
已知S1=1,S2=1+2,S3=1+2+3,…,SN=1+2+…+N,下面的程序求S20到S80有多少数能被17或35整除。改正后运行程序,将程序执行结果填入答案框内。
SET TALK OFF
I=20
N=0
DO WHILE I<=80
  STORE 1 TO S 
  J=1
  DO WHILE J<=I
    S=S+J
    J=J+1
  ENDDO
  IF MOD(S,17)=0 
    N=N+1
  ENDIF
  I=I+1
ENDDO
? N
SET TALK ON
RETURN
查看答案
  STORE 1 TO S  改为 s=0
  IF MOD(S,17)=0  or mod(s,35)=0
4材料分析题4 / 28
下列程序为求满足s=1^3+2^3+3^3+...+N^3,当s>=100000的最小的整数N。
  程序中有错误。
  改正后运行程序,将程序执行结果填入答案框内。         
            set talk off
            s=0
            n=1
            do while s>=100000
            s=s+n^3
            n=n+1
            enddo
            ?n   
            return
查看答案
            do while s>=100000 改为  s<100000
            ?n    改为 n-1
5材料分析题5 / 28
计算S=1*5*9*13*...*k,直到累乘数k>=25中止。程序中有错误。改正后运行程序,将程序执行结果填入答案框内。           
      SET TALK OFF
      CLEAR
      s=0 
      k=1
      DO WHILE .T.
          s=s*k
          IF k>=25
            EXIT
          ENDIF
          k=k+4
        ENDDO
        ?s
        RETURN
查看答案
      s=0  改为 s=1
6材料分析题6 / 28
下面的程序是求1到500的偶数立方和与奇数立方和之差。程序中有一处错。
更正程序中的错误,运行更正后的程序,记录运行结果,将结果填入答题窗口内。
SET TALK OFF
STORE 0 TO I,S1,S2
DO WHILE I<=500
  I=I+1
  IF MOD(I,2)=0
    S1=S1+I*I*I
  ELSE
    S2=S2+I*I*I
  ENDIF
ENDDO
? S1-S2
SET TALK ON
RETURN
查看答案
DO WHILE I<=500改为I<500
7材料分析题7 / 28
下面的程序是计算1*2*3*4*5...的积,要求其积大于10000后结束程序运行,输出乘积的值。程序有一处错误。更正程序中的错误,运行更正后的程序,记录运行结果,将结果填入答题窗口内。
SET TALK OFF
STORE 1 TO X,Y
DO WHILE X<30
  Y=Y*X
  X=X+1
  IF Y>10000
    LOOP
  ENDIF
ENDDO
? Y
SET TALK ON
RETURN
查看答案
    LOOP改为EXIT
8材料分析题8 / 28
已知一个数列的前三个数是1,2,3,从第四个数起,每个数都是前三个数之和。下面的程序是求出该数列的第35个数。改正程序中的错误后运行程序,将程序执行结果填入答案框内。
            SET TALK OFF
            DIME A(35)
            A(1)=1
            A(2)=2
            A(3)=3
            I=4
            DO WHILE I=35 
            A(I)=A(I-1)+A(I-2)+A(I-3)
            I=I+1
            ENDDO
            ? A(35)
            SET TALK ON
            RETURN
查看答案
            DO WHILE I=35  改为 I<=35
9材料分析题9 / 28
下面的程序是求在1,2,3,4,...,10这10个数中,任意选 两个不同的数,求它们的和能被2整除的数的总对数. (注意: 象3+5和5+3认为是同一对数). 程序中有一处错误。改正程序中的错误后运行程序,将程序执行结果填入答案框内。
SET TALK OFF
CLEAR
N=0
I=1
DO WHILE I<=10
    J=1
DO WHILE J<I
IF INT((I+J)/2)<>(I+J)/2 
N=N+1
ENDIF
J=J+1
ENDDO
I=I+1
ENDDO
?N
SET TALK ON RETURN
查看答案
IF INT((I+J)/2)<>(I+J)/2  <> 改为 =
10材料分析题10 / 28
下列的程序是求S=8!+9!+10!的程序.在下列程序中填上缺少的语句或 另外编写程序,(程序名由考生自定)运行程序,将结果填入答题窗口。
SET TALK OFF
CLEAR
S=0
I=8
DO WHILE I<=10
STORE 1 TO T,J
DO WHILE J<=I
T=T*J
J=J+1
ENDDO
(        )
I=I+1
ENDDO
?S
SET TALK ON
RETURN
查看答案
S=s+t
其它方法:
Set talk off
Clear
S=0
T=1
For i=1 to 10
T=t*i
If i>=8
  S=s+t
Endif
Endfor
?s
其它方法:
Set talk off
Clear
S=0
For i=8 to 10
T=1
For j=1 to i
T=t*j
Endfor
S=s+t
Endfor
?s
11材料分析题11 / 28
s=3!+5!+7!+…+n!,求直到s>=680000为止的最大阶乘数n。
SET TALK OFF
CLEAR
s=0
n=3
DO WHILE .T.
T=1 
FOR I=1 TO n   
  T=T*I       
NEXT 
s=s+t 
IF S>=680000         
  EXIT 
ENDIF 
  (    )
ENDDO
?n
查看答案
N=n+2
其它方法:
Set talk off
Clear
S=0
I=3
Do while .t
T=1
For j=1 to i
  T=t*j
Endfor
S=s+t
If s>=680000
Exit
endif
I=i+2
Enddo
?s
其它方法:
Set talk off
Clear
S=0
T=1
I=1
Do while .t.
  T=t*i
  If i>=3  and mod(I,2)=1
    S=s+t
  Endif
If s>=680000
Exit
endif
I=i+1
Enndo
?s
12材料分析题12 / 28
下面的程序是求出1到5000之间的能被5整除的前若干个奇数之和,当和大于500时退出。在下列程序中填上缺少的语句或另外编写程序,
  (程序名由考生自定)运行程序,将结果填入答题窗口。
            SET TALK OFF
            CLEAR
            I=1
            S=0
            DO WHILE I<5000 AND S<=500
            (              )
            S=S+I
            ENDIF
            I=I+1
            ENDDO
            ?S
            SET TALK ON
            RETURN
查看答案
IF mod(I,5)=0 and mod(I,2)=1
其它方法:
Set talk off
Clear
S=0
For i=1 to 5000  step 2
If mod(I,5)=0
  S=s+i
Endif
If s>500
    Exit
Endif
Endfor
?s
13材料分析题13 / 28
设S=1+1/2+1/3+...+1/N,N为正整数。编程求使S不超过10的最大的N.(程序名由考生自定)。在下列程序中填上缺少的语句或另外编写程序,运行程序,将结果填入答题窗口。
            set talk off
            clear
            s=0
            i=1
            do while s<=10
            s=s+1/i
            (      )
            enddo
            ? i-2
            set talk on
            return
查看答案
i=i+1
14材料分析题14 / 28
编程求区间[5000,9999]中所有素数的个数.(程序名由考生自定)。 在下列程序中填上缺少的语句或另外编写程序,运行程序,将结果填入答题窗口.
set talk off
i=9999
t=0
do while i>=5000
j=2
do while j<=i-1
if int(i/j)=i/j
exit
endif
j=j+1
enddo
if j=i
t=t+1
endif
(    )
enddo
?t
查看答案
i=i-1
15材料分析题15 / 28
输出[10,100]中除以17的余数和除以5的商相等的整数及其个数。
SET TALK OFF
N=0
FOR K=10 TO 100
    IF (      )
      ?  K
      N=N+1
    ENDIF
ENDFOR
? N
RETURN
查看答案
K%17=K/5
16材料分析题16 / 28
编程求区间[5000,9999]中按递增顺序,第15大的素数。在下列程序中填上缺少的语句或另外 编写程序,运行程序,将结果填入答题窗口。
SET TALK OFF
I=9999
T=0
do while i>=5000
j=2
do while j<=i-1
if int(i/j)=i/j
exit
endif
j=j+1
enddo
if j=i
t=t+1
if t=15
?i
endif
endif
(    )
enddo
查看答案
i=i-1
其它方法:
set talk off
clear
n=0
for i=9999 to 5000 step -1
for j=2 to i-1
    if mod(I,j)=0
      exit
    endif
endfor
if i=j
  n=n+1
endif
if n=15
  exit
endif
endfor
?i
17材料分析题17 / 28
求[600,900]之间素数的个数。
查看答案
Set talk off 
I=900
t=0
do while I>=600 
  j=2 
  do while j<=I-1   
    if int(I/j)=I/j     
      exit   
    endif   
    j=j+1 
  enddo     
  if j=I     
    t=t+1     
  endif     
  i=i-1
enddo
?t
set talk on
18材料分析题18 / 28
统计[1000,5000]内所有既能被7整除,且至少有一位数字是9的数的个数。
查看答案
clear
n=0
for i=1000 to 5000
    if i%7=0 and ‘9’$str(i)
        n=n+1
            endif
next
?n
19材料分析题19 / 28
编程序求出3000到5000之间同时满足除3余2和除5余3条件的数的个数。
查看答案
clear
n=0
for i=3000 to 5000
  if i%3=2 and i%5=3
    n=n+1
  endif
next
?n
Return
20材料分析题20 / 28
已知a>b>c,且a+b+c<100,求满足条件1/(a^2)+1/(b^2)=1/(c^2)的共有多少组。
查看答案
clear
n=0
for a=1 to 99
    for b=1 to a-1
        for c=1 to b-1
            if a+b+c<100 and 1/a^2+1/b^2=1/c^2
                n=n+1
            endif
        next
    next
next
?n
return
21材料分析题21 / 28
编程序求出1到5000之间同时满足除7余2和除9余5条件的数的和。
查看答案
clear
s=0
for i=1 to 5000
    if i%7=2 and i%9=5
        s=s+i
    endif
next
? “和:”, s
return
22材料分析题22 / 28
编程序,计算在0至50的范围内有多少个数,其每位数的乘积小于每位数的和。
查看答案
clear
n=0
for i=10 to 50
    a=i%10
    b=int(i/10)
    if a*b<a+b
        n=n+1
    endif
next
?n
return
23材料分析题23 / 28
求出[100,500]以内同时满足除以7余3,除以5余3,除以3余1的所有整数个数。
查看答案
clear
n=0
for i=100 to 500
    if i%7=3 and i%5=3 and i%3=1
        n=n+1
    endif
next
? “个数:”, n
return
24材料分析题24 / 28
求[105,625]间能被7和11整除的自然数之和。
查看答案
clear
s=0
for i=105 to 625
    if i%7=0 and i%11=0
        s=s+i
    endif
next
? s
Return
25材料分析题25 / 28
设s=1+1/2+1/3+…+1/n, n为正整数。编程求使S刚好超过6时的n。
查看答案
clear
s=0
n=0
do while .t.
    n=n+1
    s=s+1/n
    if s>6
        exit
    endif
enddo
? n-1
return
26材料分析题26 / 28
有30个人在一家小餐馆里用餐,其中有男人、女人和小孩。每个男人花了3元,每个女人花了2元,每个小孩花了1元,一共花去50元,问有几种组合?
查看答案
set talk off
clear
n=0
for to 30
for two=0 to 15
  for three=0 to 10
      if one+two+five=30 and one+two*2+three*3=50
          n=n+1
      endif
  endfor
endfor
endfor
?n
set talk on
Return
27材料分析题27 / 28
编写程序,求共有几组I、j、k符合算式ijk+kji=1333,其中I、j、k是0~9之间的一位整数。
查看答案
clear
n=0
for i=0 to 9
    for j=0 to 9
        for k=0 to 9
            if (i*100+j*10+k)+(k*100+j*10+i)=1333
                n=n+1
            endif
        next
    next
next
?n
return
28材料分析题28 / 28
一个数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数”,如:6=1+2+3,则6就是一个完数。求出1000以内的所有的完数之和。
查看答案
clear
s=0
for x=1 to 1000
    t=0
    for i=1 to x-1
        if x%i=0
            t=t+i
        endif
    next
    if x=t
      s=s+x
    endif
next
?s
← 上一卷下一卷 →