下面的程序是求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
已知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
下面的程序是求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
下面的程序是计算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
已知一个数列的前三个数是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
下面的程序是求在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
下列的程序是求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
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
下面的程序是求出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
设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
编程求区间[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
编程求区间[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
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