logo程序设计竞赛题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、画图形。(20分)
图一图二
1、(10分)写出画图一的命令
答案:repeat 8[fd 50 rt 360*3/8 fd 50 lt 360*3/8-360/8]
2、(10分)写出画图二的命令
答案:repeat 8[repeat 3[fd 50 rt 120]rt 360/8]
考查知识:重复命令的掌握。
考察技能:使用重复命令画出重复的规则图形。
评分标准:没有使用重复命令画图形的扣5分,只有使用难搞重复命令画出全部图形的才给10分。
二、(15分)编写一个带三个变量的过程dbx :n :k :bc,使过程能画出一个由n个边长为bc
的正k变形旋转而成的图形。例如,调用一下过程能画出相对应的图形:
Dbx 6 6 50Dbx 5 5 50Dbx 10 4 50
答案:
to dbx :n :k :bc
repeat :n[repeat :k[fd :bc rt 360/:k]rt 360/:n]
end
考查知识:带变量的过程的使用
考察技能:能灵活运用带变量的过程画出不同的图形
三、(15分)编写一个计算一位小数加减乘除的人机交互过程main,当过程运行时,屏幕上会出现一道一位小数的计算题,在你输入这道题的答案后,屏幕会提示你这道题目你是做对了还是做错了。
参考答案:
TO JF
MAKE "A (RANDOM 100) *
MAKE "B (RANDOM 100) *
(PR :A [+] :B [的和是多少])
MAKE "C READ
IF :C = :A + :B THEN PR [你答对了!] STOP
PR [你答错了!] STOP
END
TO JIF
MAKE "A (RANDOM 100) *
MAKE "B (RANDOM 100) *
IF :A < :B THEN MAKE "D :A MAKE "A :B MAKE "B :D
(PR :A [-] :B [的差是多少])
MAKE "C READ
IF :C = :A - :B THEN PR [你答对了!] STOP
PR [你答错了!] STOP
END
TO CF
MAKE "A (RANDOM 100) *
MAKE "B (RANDOM 100) *
(PR :A [×] :B [的积是多少])
MAKE "C READ
IF :C = :A * :B THEN PR [你答对了!] STOP
PR [你答错了!] STOP
END
TO CHF
MAKE "A (RANDOM 100) *
MAKE "B (RANDOM 100) *
MAKE "C :A * :B
(PR :C [÷] :B [的商是多少])
MAKE "A READ
IF :C = :A * :B THEN PR [你答对了!] STOP
PR [你答错了!] STOP
END
TO MAIN
MAKE "K RANDOM 4
IF :K = 1 THEN JF
IF :K = 2 THEN JIF
IF :K = 3 THEN CF
IF :K = 4 THEN CHF
MAIN
END
考查知识:随机数的灵活使用,尾递归的使用
考察技能:能灵活运用随机数产生随机小数,能进行数理分析。评分标准:能做出加减乘除法各给3分,总过程给3分。
四、(15分)编写过程画如下图形:
参考答案:
to taiji
repeat 18[bk 5 lt 10]
repeat 36[fd 10 rt 10]
repeat 18[fd 10 rt 10]
repeat 18[fd 5 rt 10]
pu bk 20 pd fill
home
rt 90
pu fd 5/ pd
setpc 15
(stampoval 10 10 "true)
pu bk 5*2/ pd
setpc 0
(stampoval 10 10 "true)
End
考查知识:使用正36边形画圆弧
考察技能:灵活使用圆的半径×=正36边形的边长。
评分标准:画出太极图形给10分,把黑白两个远点画到相应的位置给5分。
五、(15分)编写一个幸运大转盘的动画,如下图所示。转盘旋转一定的时间后指针会停下来。
参考答案:
to yuanpan
setw 1
home
stampoval 100 100
fd 100 bk 200
fd 100 rt 90 fd 100 bk 200
home
to hongpan
setpc 12
yuanpan
lt 45
pu fd 10 pd fill
home
end
to lanpan
setpc 9
yuanpan
rt 45
pu fd 10 pd fill
home
end
to lvpan
setpc 10
yuanpan
rt 135
pu fd 10 pd fill
home
end
to huangpan
setpc 14
yuanpan
lt 135
pu fd 10 pd fill
home
end
to pan
hongpan
huangpan
lvpan
lanpan
setpc 0
yuanpan
home
end
to fz
make "b random 100
make "c 0
end
to zhizhen
if :b=0 then setw 3 fd 50 bk 50 stop make "c :c+10
setw 3 fd 50 bk 50 wait 10