程序改错与填空.docx
《程序改错与填空.docx》由会员分享,可在线阅读,更多相关《程序改错与填空.docx(13页珍藏版)》请在冰豆网上搜索。
程序改错与填空
一、程序改错题
1.下面的程序是求3+9+27+81+243+...这样的数之和.若累加数大于500时,则结束累加.程序中有一处错误。
改正后运行程序,将程序执行结果填入答案框内。
SETTALKOFF
CLEAR
X=3
Y=0
DOWHILE.F.
Y=Y+X
IFY>500
EXIT
ENDIF
STORE3*XTOX
ENDDO
?
Y
SETTALKON
RETURN
修改后的程序执行结果为:
1092
2.已知S1=1,S2=1+2,S3=1+2+3,…,SN=1+2+…+N,下面的程序求S20到S80有多少数能被17或35整除。
改正后运行程序,将程序执行结果填入答案框内。
SETTALKOFF
I=20
N=0
DOWHILEI<=80
STORE0TOS
J=1
DOWHILEJ<=I
S=S+J
J=J+1
ENDDO
IFMOD(S,17)=0
N=N+1
ENDIF
I=I+1
ENDDO
?
N
SETTALKON
RETURN
修改后的程序执行结果为:
12
3.计算S=1*5*9*13*...*k,直到累乘数k>=25中止。
程序中有错误。
改正后运行程序,将程序执行结果填入答案框内。
SETTALKOFF
CLEAR
s=0
k=1
DOWHILE.T.
s=s*k
IFk>=25
EXIT
ENDIF
k=k+4
ENDDO
?
s
RETURN
修改后的程序执行结果为:
5221125
4.下面的程序是求1到500的偶数立方和与奇数立方和之差。
程序中有一处错。
更正程序中的错误,运行更正后的程序,记录运行结果,将结果填入答题窗口内。
SETTALKOFF
STORE0TOI,S1,S2
DOWHILEI<=500
I=I+1
IFMOD(I,2)=0
S1=S1+I*I*I
ELSE
S2=S2+I*I*I
ENDIF
ENDDO
?
S1-S2
SETTALKON
RETURN
修改后的程序执行结果为:
62687500
5.程序求能被3整除且至少有一位数字为5的三位数的个数。
程序中有一行有错误。
更正程序中的错误,运行更正后的程序,记录运行结果,将结果填入答题窗口。
SETTALKOFF
CLEAR
S=0
X=100
DOWHILEX<=999
IFMOD(X,3)<>0
A=INT(X/100)
B=INT(X/10)-A*10
C=X-A*100-B*10
IFA=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认为是同一对数).程序中有一处错误。
改正程序中的错误后运行程序,将程序执行结果填入答案框内。
SETTALKOFF
CLEAR
N=0
I=1
DOWHILEI<=10
J=1
DOWHILEJ
IFINT((I+J)/2)<>(I+J)/2
N=N+1
ENDIF
J=J+1
ENDDO
I=I+1
ENDDO
?
N
SETTALKON
RETURN
修改后的程序执行结果为:
20
7.已知一个数列的前三个数是1,2,3,从第四个数起,每个数都是前三个数之和。
下面的程序是求出该数列的第15个数。
改正程序中的错误后运行程序,将程序执行结果填入答案框内。
SETTALKOFF
DIMEA(15)
A
(1)=1
A
(2)=2
A(3)=3
I=4
DOWHILEI=15
A(I)=A(I-1)+A(I-2)+A(I-3)
I=I+1
ENDDO
?
A(15)
SETTALKON
RETURN
修改后的程序执行结果为:
4841
二、程序填空题
1.下列的程序是求S=8!
+9!
+10!
的程序.在下列程序中填上缺少的语句或另外编写程序,(程序名由考生自定)运行程序,将结果填入答题窗口。
SETTALKOFF
CLEAR
S=0
I=8
DOWHILEI<=10
STORE1TOT,J
DOWHILEJ<=I
T=T*J
J=J+1
ENDDO
_________s=s+t
I=I+1
ENDDO
?
S
SETTALKON
RETURN
程序的执行结果为:
4032000
2.设S=1+1/2+1/3+...+1/N,N为正整数。
编程求使S不超过10的最大的N.(程序名由考生自定)。
在下列程序中填上缺少的语句或另外编写程序,运行程序,将结果填入答题窗口。
settalkoff
clear
s=0
i=1
dowhiles<=10
s=s+1/i
________i=i+1
enddo
?
i-2
settalkon
return
程序的执行结果为:
12366
3.输出[10,100]中除以17的余数和除以5的商相等的整数的个数。
SETTALKOFF
N=0
FORK=10TO100
IF________k%17=int(k/5)
?
K
N=N+1
ENDIF
ENDFOR
?
N
RETURN
程序的执行结果为:
4
4.统计区间[1000,9999]内所有能被3整除,且千位数字与个位数字之和为8的整数的个数。
Settalkoff
t=0
I=1000
dowhileI<=9999
if_________i%3=0andint(i/1000)+i%10=8
t=t+1
endif
I=I+1
enddo
?
t
return
程序的执行结果为:
264
5.求在四位数的奇数中,所有各位数字之和是25的倍数的数的和。
CLEAR
S=0
FORI=1001TO9999STEP2
A=INT(I/1000)
B=INT(I/100)%10
C=INT(I/10)%10
D=I%10
IF_________(a+b+c+d)%25=0
S=S+I
ENDIF
NEXT
?
"S=",S
RETURN
程序的执行结果为:
1298515
6.求出1到5000之间的能被5整除的前若干个偶数之和,当和大于500时程序退出。
CLEAR
S=0
FORI=1TO5000
IF_________i%5=0andi%2=0
S=S+I
IFS>500
EXIT
ENDIF
ENDIF
NEXT
?
"S=",S
RETURN
程序的执行结果为:
550
7.程求S=1*3+2*4+3*5+...+198*200。
在下列程序中填上缺少的语句或另外编写程序,运行程序,将结果填入答题窗口。
SETTALKOFF
S=0
N=1
DOWHILEN<=198
________s=s+n*(n+2)
N=N+1
ENDDO
?
S
SETTALKON
RETURN
程序的执行结果为:
2646501
8.求出所有能被17整除且不含重复数字的三位数的和。
(程序名由考生自定)。
在下列程序中填上缺少的语句或另外编写程序,运行程序,将结果填入答题窗口。
settalkoff
i=100
store0tot
dowhilei<=999
a=int(i/100)
b=int((i-a*100)/10)
c=mod(i,10)
if___________i%17=0anda<>bandb<>candc<>a
t=t+i
endif
i=i+1
enddo
?
t
return
程序的执行结果为:
21267
9.数列xi各元素的值是:
x1=1,x2=1+2,x3=1+2+3,.....xn=1+2+3+......+n。
对数列求和:
S=x1+x2+x3....,直到S>3000止,求此时数列中最大的元素值。
(程序名由考生自定)。
在下列程序中填上缺少的语句或另外编写程序,运行程序,将结果填入答题窗口。
SETTALKOFF
CLEAR
s=0
p=0
i=1
DOWHILE.t.
p=p+i
S=S+P
IFs>3000
______exit
ENDIF
i=i+1
enddo
?
p
RETURN
程序的执行结果为:
351
10.求出[100,500]以内同时满足除以7余1,除以5余3,除以3余1的所有整数的个数。
(程序名由考生自定)。
在下列程序中填上缺少的语句或另外编写程序,运行程序,将结果填入答题窗口。
Settalkoff
clear
n=0
sum=0
forI=100to500
if_____________i%7=1andi%5=3andi%3=1
n=n+1
endif
endfor
?
N
settalkon
return
程序的执行结果为:
4
11.求[200,600]间奇数之和。
(程序名由考生自定)。
在下列程序中填上缺少的语句或另外编写程序,运行程序,将结果填入答题窗口。
Settalkoff
s=0
forI=200to600
if________i%2=0
loop
endif
s=s+I
endfor
?
S
return
程序的执行结果为:
80000
12.编程求区间[5000,9999]中所有素数的个数.(程序名由考生自定)。
在下列程序中填上缺少的语句或另外编写程序,运行程序,将结果填入答题窗口.
Settalkoff
I=9999
t=0
dowhileI>=5000
j=2
dowhilej<=I-1
ifint(I/j)=I/j
exit
endif
j=j+1
enddo
ifj=I
t=t+1
endif
_________i=i-1
enddo
?
t
程序的执行结果为:
560
三、程序设计题
1.求1+3+5+7+9+11+...这样的奇数之和.若累加数大于500时,则结束累加。
程序执行结果为:
529
2.编程序求出100到800之间同时满足除4余1和除5余3条件的数的个数。
程序执行结果为:
35
3.求能被3整除且至少有一位数字为5的三位数的个数。
程序执行结果为:
85
4.编写程序,求8!
+9!
+10!
程序执行结果为:
4032000
5.编写程序,求s=1+1/2+1/3+…+1/99,保留两位小数。
程序执行结果为:
5.18
6.求s=1-1/2+1/3-1/4+1/5-…..+1/49+1/50的和(保留2位小数)。
程序执行结果为:
0.68
7.求出只要能被2,7,9之一整除的1000以内(不含1000)的正整数的个数。
程序执行结果为:
618
8.编程序求出1到100之间同时满足除3余2和除4余2条件的数的和。
程序执行结果为:
450
9.求[105,625]间能同时被7和11整除的自然数之和以及平方和。
程序执行结果为:
2695
1203587
10.编写程序,求200到800之间素数的个数与素数的和。
程序执行结果为:
个数:
93
和:
45851
11.计算S=3!
+5!
+7!
+...+N!
,求直到S>=680000为止的奇数N。
程序执行结果为:
11
12.编写程序,求在四位数的奇数中,所有各位数字之和是25的倍数的数的和。
程序执行结果为:
1298515
13.编写程序,计算在0至50的范围内有多少个数,其每位数的乘积大于每位数的和。
程序执行结果为:
23
14.编写程序,统计200~400之间的所有满足三个数字之积为42,三个数字之和为12的数的个数。
程序执行结果为:
4
15.编写程序,统计1000~9999之间的所有满足以下条件的四位数的个数。
该四位数是一个完全平方数,其第1位(千位)与第3位(十位)数字之和为10,第2位(百位)与第4位(个位)数字之积为12。
程序执行结果为:
2
16.编程序求出1到5000之间的能被5整除的前若干个偶数之和,当和大于500时程序退出。
(求出2+4+8+16+32+…这样的数之和。
如果累加数大于500时,则程序终止并输出结果。
)
程序执行结果为:
550
17.已知一个数列的前3个数为0,0,1,以后每个数为前3个数的和,编程序求此数列的第36个数。
程序执行结果为:
334745777