加油问题-第10届蓝桥杯国赛第5题

加油问题-51scratch
加油问题-第10届蓝桥杯国赛第5题
此内容为付费资源,请付费后查看
9.9
限时特惠
19.9
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费资源

作品说明

今天为大家带来的Scratch作品是《加油问题》,这是第10届蓝桥杯创意编程大赛Scratch国赛真题,出现在2019年5月份举办的Scratch全国总决赛,本题是第5道编程题,共60分。

编程实现

小猫打算在“五一”假期骑摩托车自驾游,摩托车每次加满油后可以行驶100公里,它在自家附近的加油站加满油后就上路了,上路之后还要顺序经“1号”-“6号”的6个加油站,每个加油站到上一个加油站的距离分别是50、80、39、60、40、32公里。因为“五一”期间各加油站都有很多车要加油,所以小猫希望尽量减少加油的次数。请帮助小猫找出在哪些加油站停靠加油(每次都加满油)才能使得沿途加油次数最少。

注意:如果摩托车剩下的油不够行驶到下一个加油站时,就必须要在这个加油路加油了!

具体要求

1. 创建两个列表,列表“距离”用于存放各个加油站距离的数值,将50、80、39、60、40、32依次添加到列表中;列表“停靠”有6个元素,用于标记在哪个加油站停靠加油。每次点击绿旗时,都要将“停靠”列表中的6个元素初始化为“0”,然后让小猫说“开始出发”2秒。如图1所示:

scratch初始化列表效果
初始化列表效果

2. 小猫需要指出应该在哪个加油站停靠加油。例如,小猫需要在第1个加油站加油(因为到第2个加油站还有80公里,而摩托车的油只够再骑50公里了),就让小猫说“在1号加油站停靠加油”2秒,同时将“停靠”列表中的第1个元素值修改为1,然后继续说出下一个需要加油的加油站(见图2),当到达目的地时,让小猫说“到达目的地”2秒,然后程序结束。

Scratch停靠加油效果
停靠加油效果

3. 赛后判卷时,在裁判修改了列表“距离”中的数值以后,重新点击绿旗后,能够以新的数值重新计算,并让小猫说出合理的停靠加油方案,使得加油的次数最少。

评判标准

  • 10分:符合具体要求1,即点击绿旗后“距离”列表中的各元素依次是50、80、39、0、40、32,“停靠”列表中的各元素值都是0,小猫说“开始出发”2秒。
  • 30分:在10分标准的基础上,符合具体要求2,即小猫正确说出在哪个加油站加油,并且在说出“到达目的地”后,“停靠”列表的每一个数值均正确。
  • 60分:在30分标准的基础上,符合具体要求3.即赛后判卷时,在裁判修改“距离”的数值后,能够以新的数值计算新的停靠加油方案,使得加油的次数最少。

作品效果

Scratch加油问题作品的效果如视频所示:

Scratch加油问题作品效果

作品解读

本题重点考察了对列表的灵活运用,包括如下几个方面:

  • 清空列表
  • 添加数据到列表
  • 更新列表数据
  • 结合循环遍历列表

其核心代码如图所示:

加油问题核心代码
加油问题核心代码

其中这里的初始化自制积木主要是用来对列表和变量进行初始化,代码如图所示:

scratch初始化列表和变量
初始化列表和变量

© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容