第一题 给定程序MODI1.BAS其功能是:求0-100以内既不能被2整除也不能被3整除的所有的整数之和。程序有错,请改正之。 注意:不得增行或删行,也不得更改程序的结构! Modi1.bas CLS FOR i = 0 TO 100 '**********found********** IF i MOD 2 <> 0 OR i MOD 3 <> 0 THEN '参考答案:OR 改为 AND '**********found********** s = s + 1 '参考答案:s=s+i END IF NEXT i PRINT "S="; s END 第二题 给定程序MODI1.BAS其功能是:把一个大写字母组成的英语单词转换成小写字母,然后将这些小写字母的ASCII码相加起来,并输出之。请在【1】、【2】及【3】三处将程序补充完整。 注意:不得增行或删行,也不得更改程序的结构! CLS word$="VERY GOOD" '**********found********** word1$=【1】(word$) '参考答案:word1$=LCASE$(word$) '**********found********** FOR j = 1 TO 【2】 '参考答案:FOR j = 1 TO LEN(word$) '**********found********** aas = aas +【3】(MID$(word1$, j, 1)) '参考答案:aas = aas +ASC(MID$(word1$, j, 1)) NEXT j PRINT aas END 第三题 给定程序MODI1.BAS其功能是:把一个英语单词(小写)中的各字母循环移动三位(即a-d,b-e,...,z-c),然后输出之。请在【1】、【2】、【3】三处将程序补充完整。 注意:不得增行或删行,也不得更改程序的结构! CLS word$="encryption" '**********found********** FOR j=1 TO 【1】 '参考答案:LEN(word$) '**********found********** word1$=word1$+CHR$(ASC("a")-1+((ASC(MID$(word$,j,1))-ASC("a")+4 )【2】)) NEXT j '参考答案:MOD 26 '**********found********** 【3】 word1$ '参考答案:PRINT word1$ END 第四题 给定程序MODI1.BAS其功能是:计算三维空间中的距离,找出 程序中的错误。 注意:不得增行或删行,也不得更改程序的结构! Modi1.bas CLS READ a,b,c '**********found********** d=SQRT(a*a+b*b+c*c) '参考答案:d=SQR(a*a+b*b+c*c) PRINT "The distance of (";A;B;C;") =";d '**********found********** DATA "1";"2";"3" '参考答案:DATA 1,2,3 END 第五题 给定程序MODI1.BAS其功能是:打开一个随机文件"goods.dat",用以存放10种货物的货号、货名、价格和存货量。用TYPE定义了记录型变量goods,包括num,nam,price及stock四个域。用READ/DATA语句读入数据,用OPEN语句打开文件。请根据程序的需要在【1】、【2】及【3】三处填上所需的内容,将程序补充完整。 注意:不得增行或删行,也不得更改程序的结构! TYPE goods num AS STRING * 10 nam AS STRING * 12 price AS SINGLE stock AS INTEGER END TYPE DIM dress AS goods '**********found********** OPEN 【1】 FOR 【2】 AS #1 LEN = LEN(dress) '参考答案:OPEN "goods.dat" FOR RANDOM… DO READ dress.num, dress.nam, dress.price, dress.stock IF dress.num = "g9999 " THEN EXIT DO PUT #1, , dress '**********found********** 【3】 '参考答案:loop CLOSE DATA g1001,Shirt,65,120, g1002,Skirt,76,108 DATA g1004,Coat,231.5,67, g1005,Soaks,4.5,250 DATA g1006,Pants,121.7,87, g1008,Underwear,34,86 DATA g1010,Cap,54.8,73, g1023,Shoes,145,90 DATA g1221,Woolly,231,34,g1243,Quilt,210,38 DATA g9999, , , END 第六题 给定程序MODI1.BAS其功能是:为一个三行三列的二维数组A赋值并在屏幕上按方阵形式输出,请将程序调试出所需结果。 1 2 3 2 4 6 3 6 9 注意:不得增行或删行,也不得更改程序的结构! CLS OPTION BASE 1 DIM A(3,3) '**********found********** FOR K=0 TO 2 '参考答案:FOR K=1 TO 3 '**********found********** FOR J=0 TO 2 '参考答案:FOR J=1 TO 3 A(K,J)=K*J '**********found********** PRINT A(K,J) '参考答案:PRINT A(K,J); '**********found********** NEXT K '参考答案:NEXT J PRINT '**********found********** NEXT J '参考答案:NEXT K END 第七题 给定程序MODI1.BAS其功能是:定义一个单行自定义函数F(X)=4*X*X+X+3,然后计算当自变量X为6和8时函数的值,请将程序调试出所需结果。 注意:不得增行或删行,也不得更改程序的结构! CLS '**********found********** DEFINE FNF(X)=4*X*X+X+3 '参考答案:DEF FNF(X)=4*X*X+X+3 READ A,B '**********found********** X1= ABF(A);X2 = ABF(B) '参考答案:X1= FNF(A):X2 = FNF(B) PRINT X1,X2 '**********found********** DATA "6","8" '参考答案:DATA 6,8 END 第8题 给定程序MODI1.BAS其功能是:分别找出1-100以内是2或是3倍数的数的个数s、11的倍数的数的个数t及上述两种数以外的数的个数q。程序有错,请改正之。 注意:不得增行或删行,也不得更改程序的结构! CLS FOR j = 1 TO 100 IF j MOD 2 = 0 OR j MOD 3 = 0 THEN '**********found********** q = q + 1 '参考答案:s=s+1 IF j MOD 11 = 0 THEN t = t + 1 ELSEIF j MOD 11 = 0 THEN '**********found********** s = s + 1 '参考答案:t=t+1 ELSE q = q + 1 '**********found********** IF END '参考答案:END IF NEXT j PRINT "s="; s, "t="; t, "q="; q END 第9题 给定程序MODI1.BAS其功能是:把字符串"GOOD MORNING"转换成"Good morning",然后将这些字母的ASCII 码的数值相加起来,并输出之。请在【1】、【2】及【3】三处将程序补充完整。 注意:不得增行或删行,也不得更改程序的结构! CLS word$="GOOD MORNING" '**********found********** length=【1】(word$) '参考答案:length=LEN(word$) MID$(word$, 2,length-1)= "ood morning" '**********found********** FOR j = 【2】 '参考答案:FOR j = 1 TO LEN(word$) '**********found********** aas = aas +【3】(MID$(word$, j, 1)) '参考答案:aas = aas +aas+ABC(MID$(word$, j, 1)) NEXT j PRINT word$ , aas END 第10题 给定程序MODI1.BAS其功能是:求阶乘积s=1×2×3×…×n,但程序不完整,请【1】、【2】及【3】三处将填入所需内容。 注意:不得增行或删行,也不得更改程序的结构! CLS s = 1 m = 1 INPUT "n=";n '**********found********** DO WHILE 【1】 '参考答案:DO WHILE m m = m + 1 '**********found********** s = 【2】 '参考答案:s = s * m '**********found********** 【3】 '参考答案:LOOP PRINT "n!= "; s END 第11题 给定程序MODI1.BAS其功能是:计算三维空间中坐标为(a,b,c)的点到原点的距离,并打印出该点及其与原点距离。找出程序中的错误。 注意:不得增行或删行,也不得更改程序的结构! CLS READ a,b,c '**********found********** d=SQRT(a*a+b*b+c*c) '参考答案:d=SQR(a*a+b*b+c*c) '**********found********** PRINT "The distance of (;a;b;c; ") =";d '参考答案:PRINT "The distance of (";a;b;c; ") =";d '**********found********** DATA "1";"2";"3" '参考答案:DATA 1,2,3 END 第12题 给定程序MODI1.BAS其功能是:子程序sum1计算和 j s(j)=∑ i, 程序计算j为1至100中偶数时相应s(j)之和。 i=1 请将程序调试出所需结果。 注意:不得增行或删行,也不得更改程序的结构! DECLARE SUB sum1(k, s) total = 0 FOR j = 2 TO 100 STEP 2 '**********found********** CALL sum1(j, s) '参考答案:CALL sum1((j), s) '**********found********** total = s '参考答案:total = total + s NEXT PRINT total SUB sum1(k, s) s = 0 DO s = s + k: k = k - 1 '**********found********** WHILE k > 0 '参考答案:LOOP WHILE k > 0 END SUB 第13题 给定程序MODI1.BAS其功能是:为一个三行三列的二维数组A赋值并在屏幕上按方阵形式输出,请将程序调试出如下结果。 1 2 3 2 4 6 3 6 9 注意:不得增行或删行,也不得更改程序的结构! OPTION BASE 1 DIM a(3,3) '**********found********** FOR k=0 TO 2 '参考答案:FOR k=1 TO 3 '**********found********** FOR j=0 TO 2 '参考答案:FOR J=1 TO 3 '**********found********** a(k,j)=k+j '参考答案:a(k,j)=k*j PRINT a(k,j); NEXT j PRINT NEXT k END 第14题 给定程序MODI1.BAS其功能是:定义一个单行自定义函数f(x)=4*x*x+x+3,计算当自变量x为6和8时函数的值,并将此二函数值存入数据文件prog71.dat中。但程序有错,请将程序调试出所需结果。 注意:不得增行或删行,也不得更改程序的结构! CLS DEF fnabf(x)=4*x*x+x+3 READ a,b '**********found********** x1= abf(a);x2 = abf(b) '参考答案:x1= nabf(a);x2 = nabf(b) PRINT x1,x2 '**********found********** DATA "6","8" '参考答案:DATA 6,8 '**********found********** OPEN "prog71.dat" FOR INPUT AS #1 '参考答案:OPEN "prog71.dat" FOR OUTPUT AS #1 '**********found********** PRINT x1,x2 '参考答案:PRINT #1,x1,x2 CLOSE #1 END
|