马克思的手稿-第11届蓝桥杯Scratch选拔赛真题精选
第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
男人 * 2 + 女人 = 20

程序实现

根据题目描述和思路分析,我们可以分两步来编写程序:
准备工作及初始化
按下空格键添加一组数据
2. 按下空格键添加一组数据
根据思路分析中的流程图,编写代码如下:
代码是根据流程图来写的,但是有两个地方不一样,需要说明一下:
1). 这里只使用了一层循环,原因在于每按下一次空格键,代码就执行一次,男人的数量也增加1,其效果和循环是一样的;
2). 由于循环的次数是确定的,所以这里直接使用了”重复执行18次“,这么写比使用”重复执行直到“指令更简单。

总结与思考

变量和列表的使用;
说话指令,注意两种不同形式的区别;
运算符指令,包括算术运算、比较运算和字符连接运算;
枚举算法的编程思想及实现方式。
本题有一定难度,重点是理解枚举算法的编程思想,掌握枚举算法的实现方式。同时要结合数学知识,简化代码结构,优化代码效率。
不知道你发现了没,这道题和著名的百钱百鸡问题非常类似,题目是这样的,公鸡每只5元,母鸡每只3元,三只小鸡1元,用100元买100只鸡,问公鸡、母鸡、小鸡各多少只?有兴趣的同学可以挑战一下。

添加 家长论坛微信
全部 0条评论