题目说明
Scratch博士汪出题,这是第12届蓝桥杯Scratch国赛真题高级组的最后一题,于2021年5月29日举行。前面6道题和初级组一样。本题要求考生使用Scratch编程实现随机出题,让玩家选择答案,然后判断选项是否正确,最后统计答题情况及分数。
先来看看题目的说明吧。
编程实现:博士汪出了5道加法选择题,请同学们给出正确选项。
具体要求:
1). 博士汪问:“n + m = ?”,n(0-9随机数),m(0-9随机数);

2). 下方A、B、C、D四个选项,随机一个选项为正确答案,其他选项为错误答案(所有选项不能重复);
3). 在询问框中输入选项,如果正确,博士汪说:“对了”,如果错误,博士汪说:“错了”;


4). 博士汪连续出5道加法选择题;
5). 完成5道选择题后,博士汪说:“共答对几道题”等待1秒,说:“得了多少分”,选项内容清空(每道选择题20分);


6). 程序持续运行,且满足以上全部要求。
评判标准:
- 10分:满足要求1;
- 25分:满足要求2;
- 25分:满足要求3;
- 15分:满足要求4;
- 15分:满足要求5;
- 10分:满足要求6。
作品效果
先来看看作品的预览效果吧:
作品解读
本题使用的是scratch自带的舞台背景和角色,角色也只有一个,如图所示:

作为高级组最后一题,本题的难度明显比前面6题要大,主要考察了如下7个知识点:
- scratch问答模块,包括“询问并等待”和“回答”两个指令;
- 变量的使用;
- 字符串连接运算;
- 列表的灵活运用,包括插入数据、打乱顺序、获取数据等;
- 逻辑与运算;
- 循环和双分支条件;
- 加法运算和随机数运算。
本题的难点在于,如何生成A、B、C、D四个选项,这里有3个关键点:
- 4个选项不能重复;
- 有且只有一个选项是正确答案;
- 正确答案顺序是随机的,可以是A、B、C、D四个中的任意一个;
为了实现这个功能,我们可以借助列表和随机数,先计算得出正确答案,将其插入列表,作为列表的第一项,接下来利用随机数,得到其它3个错误选项,它们都是在正确答案的基础上增加或减少一个随机数,然后插入到列表的随机位置,如此一来,就可以确保上述3个关键点了。
这部分的核心代码如图所示:

需要完整的代码可以下载作品进行查看。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容