赞
踩
[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第92讲。
蓝桥杯选拔赛每一届都要举行4~5次,和省赛、国赛相比,题目要简单不少,再加上篇幅有限,因此我精挑细选了一部分题目进行解读。
第11届蓝桥杯青少年组第6次选拔赛于原定于2020年2月15日举行,因为疫情延期到5月31日,形式为线上考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。
马克思的手稿,本题是2020年5月31日举行的第11届蓝桥杯Scratch选拔赛真题编程第5题,初级组和中级组都有此题,题目要求编程解决一道记录在马克思手稿中的数学趣题。
先来看看题目的要求吧。
背景信息:
马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩。在一家饭馆吃饭共花了50先令;每个男人花了3先令,每个女人花了2先令,每个小孩花了1先令;问男人、女人和小孩各有几人?
编程实现:
1). 当绿旗被点击,舞台右侧添加一个空列表,并且小猫说“点击一次空格键,列表中添加一组男人、女人、小孩人数的答案”,如下图;
2). 接下来每点击一次空格,列表中就添加一组符合要求的数据,如下图;
3). 当所有符合要求的数据都添加到列表之后,小猫说“全部找到了”2秒,程序结束;
4). 再次点击绿旗,程序可以重复执行。
评判标准:
20分:完成右上图;
20分:列表中能显示2组及以上符合要求的数据;
40分:列表中能显示所有符合要求的数据;
20分:点击绿旗能重复执行,且完全符合要求。
本题只有1个角色,就是默认的小猫,如图所示:
这是一道典型的枚举算法题,所谓枚举算法就是将所有问题的可能性一一列举出来,并判断是否符合给定条件。
根据题目描述,我们可以得出如下两个条件:
男人 + 女人 + 小孩 = 30
男人 * 3 + 女人 * 2 + 小孩 = 50
因此,我们可以将所有可能的组合都列出来,看看是否满足上述两个条件。典型的做法就是使用嵌套循环对每一种组合进行判断,将满足条件的组合存入到列表中。
对于本题而言,每按一次空格键就获取一种组合,我们可以先将男人的数量设置为1,每按一次空格键就将数量增加1,这就相当于是外层循环。
针对每一个确定的男人数量,我们需要对女人的数量进行循环判断,初始值也是1,有了男人数量和女人数量,就可以利用上面的第一个条件,计算出小孩的数量,然后根据第二个条件,将对应的组合存入列表。
我们可以使用如下流程图来表示这个过程:
需要注意的是,男人和女人数量的范围,题目明确说明在30人中有男人、女人和小孩,所以男人和女人的最小值必定为1,最大值呢?
一般我们都会这么思考,每个男人花了3先令,总共是50先令,假定都是男人,那么男人的数量要小于 50 /3,也就是男人数量的最大值是15,同理我们可以计算出女人数量的最大值是25。
实际上,我们还可以缩小男人数量的范围,将上面的两个条件等式相减可得:
男人 * 2 + 女人 = 20
从这个等式中,我们很容易得出男人的数量不超过10,女人的数量不超过18,范围缩小了,程序的效率就提高了。
根据题目描述和思路分析,我们可以分两步来编写程序:
准备工作及初始化
按下空格键添加一组数据
1. 准备工作及初始化
创建3个变量,分别命名为“男人”、“女人”和“小孩”,如图所示:
再创建一个列表,将其命名为“男女小孩”,如图所示:
当点击绿旗时,将列表清空,将“男人”设为1,同时提示用户按空格键添加一组答案,在小猫角色中编写代码如下:
2. 按下空格键添加一组数据
根据思路分析中的流程图,编写代码如下:
代码是根据流程图来写的,但是有两个地方不一样,需要说明一下:
1). 这里只使用了一层循环,原因在于每按下一次空格键,代码就执行一次,男人的数量也增加1,其效果和循环是一样的;
2). 由于循环的次数是确定的,所以这里直接使用了”重复执行18次“,这么写比使用”重复执行直到“指令更简单。
本题难度系数为4,积木块数量35个左右 ,涉及到的知识点主要包括:
变量和列表的使用;
说话指令,注意两种不同形式的区别;
运算符指令,包括算术运算、比较运算和字符连接运算;
枚举算法的编程思想及实现方式。
本题有一定难度,重点是理解枚举算法的编程思想,掌握枚举算法的实现方式。同时要结合数学知识,简化代码结构,优化代码效率。
不知道你发现了没,这道题和著名的百钱百鸡问题非常类似,题目是这样的,公鸡每只5元,母鸡每只3元,三只小鸡1元,用100元买100只鸡,问公鸡、母鸡、小鸡各多少只?有兴趣的同学可以挑战一下。
如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,Thanks♪(・ω・)ノ。
需要素材和源码的,可以联系本人,或者移步至同名wx号。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。