实验八作业计算机程序改错.doc
文本预览下载声明
一、程序改错题
1. 下面的程序是求3+9+27+81+243+...这样的数之和. 若累加数大于500时,则结束累加.程序中有一处错误。改正后运行程序,将程序执行结果填入答案框内。
SET TALK OFF
CLEAR
X=3
Y=0
DO WHILE .F.
Y=Y+X
IF Y500
EXIT
ENDIF
STORE 3*X TO X
ENDDO
?Y
SET TALK ON
RETURN
修改后的程序执行结果为:1092
2. 已知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 0 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
修改后的程序执行结果为:12
3. 计算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
修改后的程序执行结果为:5221125
4. 下面的程序是求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
修改后的程序执行结果为5. 程序求能被3整除且至少有一位数字为5的三位数的个数。程序中有一行有错误。更正程序中的错误,运行更正后的程序,记录运行结果,将结果填入答题窗口。
SET TALK OFF
CLEAR
S=0
X=100
DO WHILE X=999
IF MOD(X,3)0
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
6. 下面的程序是求在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 JI
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
7. 已知一个数列的前三个数是1,2,3,从第四个数起,每个数都是前三个数之和。下面的程序是求出该数列的第15个数。改正程序中的错误后运行程序,将程序执行结果填入答案框内。
SET TALK OFF
DIME A(15)
A(1)=1
A(2)
显示全部