马克思的手稿-第11届蓝桥杯Scratch选拔赛真题精选
创始人
2024-03-12 15:32:10
0

[导读]:超平老师计划推出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号。

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...