芜湖市小学计算机水平等级测评试卷
(LOGO语言卷)
题号
一
二
三
四
总分
得分
温馨提示:本试卷有四大题,共8页。考试时间120分钟,满分120分。
一、填空题(每空1分,共20分)。
1、中央处理单元英文缩写为。
2、表达式REMAINDER 19 -3的值是、表达式5
25的值是
。
3、把数学表达式 改写成LOGO表达式为:
。
4、执行PR (INT SQRT SQRT 256)*ROUND
PI的结果为:。
5、执行PRRANDOM 5 - RANDOM 2
的结果可能有。
6、执行 (show CHAR 65 "\+ CHAR 66 "\= "c) 的结果是
。
7、执行 PR (ASCII "A) -(ASCII 0) 的结果是
。
8、FOR “I 1 9[IF :I/3
:I]可以打印出来的数有。
9、随机产生100之内(不包括0)
8的倍数表达式为。
10、正23角星一共有
种画法,当其内角最尖时应该是
度。
11、十进制数 2748 所对应的十六进制数是:
。
12、如果执行 REPEAT 9[FD 10 BK :Y ]后,在屏幕上画出了一条长100步的线段,
变量:Y可以是
或
。
13、REPEAT 36[RT 5 FD 50*6.28/18 RT 5]
可以画出的圆半径为。
14、输入PR LPUT BL “ABC BL “AABC 显示:
。
15、输入 PR (LIST BF [123ABC] (SE [XYZ]) 456)显示:
。
16、输入 SHOW LIST SE "A [B] BL [CD]
显示:
。
17、输入(SHOW REMAINDER -7 -4 INT 7/2) 显示:
。
二、问题求解(前4空每空2分,后2空每空1分,共10分)。
1、某班有56名学生,每位学生发一张调查卡,上面写a,b,c三本书的书名,将读过的书打√,结果统计数字如下:读过a者16人;读过b者12人;读过c者9人;全部读过的有2人;读过a,b两本书的有5人;读过b,c两本书的有4人;读过a,c两本书的有3人;问只读过a的人数是人,一本书也没有读过的是人。
2、(寻找假币)现有80枚硬币,其中有一枚是假币,其重量稍轻,所有真币的重量都相同,如果使用不带砝码的天平称重,可以保证只要称次,就可以找出假币。第1次的称重方法是分份,称量其中
和
枚的两份。
三、读程序,写出或画出程序运行的结果(每题5分,共50分)。
1、TO A
REPEAT 4[ REPEAT 2[ \
FD 40 RT 90 PU FD 40 RT 90 PD] RT 90]
END执行:A
2、TO B
DRAW
SETY 100 SETX -100SETY 0 SETX 0
SETXY[40 30] SETY YCOR+100
SETX XCOR-100 SETXY [-100 100]
SETXY [0 100] SETXY [40 130]
END执行:B
3、TO C :R
IF :R<1 HT STOP
REPEAT 18[RT 5 FD 2*PI*:R/36 RT 5]
IF :R/20>INT :R/20 [PU RT 90 FD :R*2-1 RT 90
PD]
C :R-1
END执行:C40
4、TO D :X
IF :X<20STOP
SETX XCOR+:X SETY YCOR-:X
SETX XCOR-:X SETY YCOR+:X
REPEAT 18 [LT 5 BK :X*PI/36 LT 5] RT 180
D :X/2
END执行:D80
5、TO E :N
IF :N>4 STOP
REPEAT 6-:N[TYPE CHAR 32 ]
E1 1PR "
E :N+1
END
TO E1 :S
IF :S=:N TYPE CHAR 91-:S STOP
TYPE CHAR 91-:S E1 :S+1
TYPE CHAR 91-:S
END执行:E 1
6、TO F :X :Y
IF EMPTY? :X [SHOW :Y STOP]
TEST NOT NUMBER? LAST FIRST :X
IFT [MAKE "YSE:YFIRST :X]
IFF [MAKE "YLISTFIRST :X
:Y]
F BF :X :Y
END
执行:F [LOAV [MY 61] GO51 ] []
7、TO G :X :Y
IF AND :X<10 :Y<10 [OP 0]
OP (G1 :X :Y)+(G :X-5 :Y-3)
END
TO G1 :X :Y
OP (:X+:Y)/2-(ABS :X-:Y)/2
END
执行:G 26 23
8、TO H :R
IF :R<10 HT STOP
LT 90 REPEAT 9[RT 5 FD 2*PI*:R/36 RT 5]
LT 45 H :R/2 RT 45
PU LT 90 BK :R*2 RT 90 PD
RT 45 H :R/2 LT 45
REPEAT 9[RT 5 BK 2*PI*:R/36 RT 5] LT 90
END
执行:H 40
9、TO I :K
FOR "J 1 :K [TYPE I1 :J TYPE CHAR 32]
END
TO I1 :N
IF :N<4 [OP 2*:N-REMAINDER :N 2]
OP (I1 :N-1)+(I1 :N-2)-(I1 :N-3)
END
执行:I7
10、TO J :N
TS CT
MAKE "M 0
FOR "I 1 :N [MAKE "M :M+:I \
MAKE "S :M \
FOR "J 1:I [TYPE CHAR 32] \
FOR "J :I :N [TYPE REMAINDER :S 10 MAKE "S :S + :J] \
PR "]
END
执行:J5
四、依照题意,填空完成程序,使之成为题解(每空2分,共40分)。
1、画数字
【问题描述】下面图例中的数码管可以用海龟画图的形式完成。
下面的程序可以从键盘上输入一个不超过六位的整数,并让海龟在图形屏幕的中间,用数码管的形式画出这个整数。请仔细阅读程序,并补充完整。
TO A
MAKE "L
GETXY
PU SETY YCOR
+ 40 PD
SETX XCOR +
40
PU SETXY :L
PD
END
TO B
MAKE "L
GETXY
PU SETX XCOR
+ 40 PD
SETY YCOR +
40
PU SETXY :L
PD
END
TO C
MAKE "L
GETXY
PU SETX XCOR
+ 40 PD
SETY YCOR -
40
PU SETXY :L
PD
END
TO F
SETY YCOR +
40
SETY YCOR -
40
END
TO G
SETX XCOR +
40
SETX XCOR -
40
END
TO D
MAKE "L
GETXY
PU SETY YCOR
- 40 PD
SETX XCOR +
40
PU SETXY :L
PD
END
TO E
SETY YCOR -
40
SETY YCOR +
40
END
TO T1
DRAW SS SETW
5
MAKE "SL
[ABCDEF BC
ABCDG
BCFG
ACDEFG
\
ABC ABCDEFG ABCDFG]
MAKE "S RQ
MAKE "L
PU SETX XCOR
+ :L * 30 – 50 PD
ZU :S
END
TO ZU :S
IF EMPTY? :S
PU HOME PD STOP
Z
PU SETX XCOR
- 60 PD
ZU BL :S
END
TO Z :Z
IF EMPTY? :Z
STOP
Z BF :Z
END
执行:T1
输入:103
结果:
执行:T1
输入:
结果:
2、输出算式
【问题描述】
求出所有可能的A+B=C的算式。
1、用1~9个数字组成三个三位数的加法算式。
2、正好用尽1~9这9个数字。
3、第一个数是2的倍数,第二个数是3的倍数,和是5的倍数。
TO T2
MAKE "S
0
(FOR "A 124
987 [(FOR "B 123 987
[\
YZ :A :B :C]
)]
2)
(PR [SUM =]
:S)
END
TO YZ :A :B :C
IF :C
> 987 [STOP]
MAKE "SL
[]
IF
[STOP]
FJ :A
FJ :B
FJ :C
IF AND
(COUNT :SL) = 9
[MAKE
"S :S + 1 \
(PR :A [+] :B [=] :C)]
END
TO FJ :X
IF EMPTY? :X
[STOP]
IF
[FJ
BL :X] [MAKE "SL LPUT LAST :X :SL FJ BL :X]
END
执行:T2
显示: 162 + 783 = 945
168 + 327 = 495
192 + 483 = 675
294 + 381 = 675
318 + 627 = 945
384 + 291 = 675
492 + 183 = 675
618 + 327 = 945
762 + 183 = 945
SUM = 9
3、尼克彻斯定理
【问题描述】
尼克彻斯定理可以叙述为:任何一个自然数N的立方都可以表示成N个连续奇数的和。
这里要注意:(1)这些奇数一定是要连续的。
(2)满足条件的奇数有N个。
例如: 13=1=1
23=8=5+3
33=27=11+9+7
43=64=19+17+15+13
TO T3 :N
TYPE :N TYPE
[*] TYPE :N TYPE [*] TYPE :N TYPE [=]
TYPE
TYPE
[=]
MAKE "B
FOR "I 1 :N
[SHUCHU]
END
TO SHUCHU
IF
TYPE
[+]
TYPE :B MAKE
"B
END
执行:T3 3
显示:3*3*3=27=11+9+7
执行:T3 6
显示:6*6*6=216=41+39+37+35+33+31
执行:T3 9
显示:9*9*9=729=89+87+85+83+81+79+77+75+73
4、BUS
【问题描述】
汽车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1站),都满足此规律。
现给出的条件是:共有n个车站,始发站上车的人数为a,最后一站下车的人数是m(全部下车)。试问第x站开出时车上的人数是多少?
TO BUS :A :N :M :X
MAKE "LA [1
0 1]
MAKE "LB [0
1 1]
FOR "I
:N
- 1[ \
MAKE "LA LPUT (ITEM :I - 1 :LA) + (ITEM :I - 2 :LA) :LA \
MAKE "LB LPUT (ITEM :I - 1 :LB) + (ITEM :I - 2 :LB) :LB ]
MAKE "SA
1
MAKE "SB
1
FOR "I 3 :N - 1 [MAKE "SA
]
FOR "I 3 :N - 1 [MAKE "SB
]
MAKE "SB :SB
- 1
MAKE "B
MAKE "SA
0
MAKE "SB
0
FOR "I 1 :X
[MAKE "SA :SA + (ITEM :I :LA)]
FOR "I 1 :X
[MAKE "SB :SB + (ITEM :I :LB)]
FOR "I 3 :X
[MAKE "SA :SA - (ITEM :I - 1 :LA)]
FOR "I 3 :X
[MAKE "SB :SB - (ITEM :I - 1 :LB)]
IF
[MAKE
"SB :SB - 1]
PR
END
执行:BUS5 7 32 4
输出:13
执行:BUS0 10 40 6
输出:8
执行:BUS10 15 2378 8
输出:138