当前位置:首页 > vf期末考试题库含答案
n=n+1 enddo
?n 改为 n-1
return 258
5.计算S=1*5*9*13*...*k,直到累乘数k>=25中止。程序中有错误。改正后运行程序,将程序执行结果填入答案框内。 SET TALK OFF CLEAR
s=0 改为 s=1 k=1
DO WHILE .T. s=s*k IF k>=25 EXIT ENDIF k=k+4 ENDDO ?s RETURN
修改后的程序执行结果为:5221125
6.下面的程序是求1到500的偶数立方和与奇数立方和之差。程序中有一处错。 更正程序中的错误,运行更正后的程序,记录运行结果,将结果填入答题窗口内。
SET TALK OFF
STORE 0 TO I,S1,S2
DO WHILE I<=500改为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 修改后的程序执行结果为:62687500
7.下面的程序是计算1*2*3*4*5...的积,要求其积大于10000后结束程序运行,输出乘积的值。程序有一处错误。更正程序中的错误,运行更正后的程序,记录运行结果,将结果填入答题窗口内。
SET TALK OFF STORE 1 TO X,Y DO WHILE X<30 Y=Y*X
17
X=X+1
IF Y>10000
LOOP改为EXIT ENDIF ENDDO ? Y
SET TALK ON RETURN
8. 已知一个数列的前三个数是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 改为 I<=35 A(I)=A(I-1)+A(I-2)+A(I-3) I=I+1 ENDDO ? A(35) SET TALK ON RETURN
修改后的程序执行结果为:950423。。。
9. 下面的程序是求在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
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 修改后的程序执行结果为:20
18
10. 程序求能被3整除且至少有一位数字为5的三位数的个数。程序中有一行有错误。更正程序中的错误,运行更正后的程序,记录运行结果,将结果填入答题窗口。 SET TALK OFF CLEAR S=0 X=100
DO WHILE X<=999
IF MOD(X,3)=0 and '5'$str(x) A=INT(X/100) B=INT(X/10)-A*10 C=X-A*100-B*10
IF A=5 .OR. B=5 .OR. C=5 S=S+1 ENDIF ENDIF X=X+1 ENDDO ? S RETURN
修改后的程序执行结果为:85
11.编程求区间[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 i=i-1
在下列程序中填上缺少的语句或另外编19
enddo
?T 560
12. 输出[10,100]中除以17的余数和除以5的商相等的整数及其个数。
SET TALK OFF N=0
FOR K=10 TO 100
IF MOD(K,17)=INT(I/5) ? K N=N+1 ENDIF ENDFOR ? N
RETURN
四、程序填空题
1. 下列的程序是求S=8!+9!+10!的程序.在下列程序中填上缺少的语句或 另外编写程序,(程序名由考生自定)运行程序,将结果填入答题窗口。
SET TALK OFF CLEAR S=0 I=8
其它方法: 其它方法: DO WHILE I<=10
Set talk off Set talk off STORE 1 TO T,J
Clear Clear DO WHILE J<=I
S=0 S=0 T=T*J
T=1 For i=8 to 10 J=J+1
For i=1 to 10 T=1 ENDDO
T=t*i For j=1 to i S=s+t
If i>=8 T=t*j I=I+1
S=s+t Endfor ENDDO
?S Endif S=s+t SET TALK ON Endfor Endfor RETURN ?s ?s 2.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
20
共分享92篇相关文档