Scratch少儿编程蓝桥杯真题解析4

网友投稿 2019-12-09 17:13

本篇文章来讲解一下,2019年第十一届少儿编程scratch蓝桥杯宁波赛区的编程大题最后一道。猜数字是一道非常经典的题,对于做过针对蓝桥杯竞赛练习的小朋友们基本上是送分题,但是宁波赛区这道编程压轴题在经典案例上进行了改编,难度直线上升。我们一起来看看吧。

https://cdn.china-scratch.com/Public/Home/images/grey.gif

要求:

1、小猫随机想了一个[0000, 9999]之间的四位数,由玩家猜这个四位数是多少:
2、当玩家手动输入猜测的四位数字之后,程序将这四位数字中猜对的位数以真实的数字显示出来,没猜对的位数用X表示;
3、一共可以猜10次,舞台左上角显示剩余次数,在10次内将四位数字全部猜对,小猫会说“恭喜你,答对了!”,并停止程序。如果十次都没有猜对,小猫则会说“机会用尽,正确答案是XXXX”, 然后停止程序。

解析:

1、创建变量,根据题目明说的,我们需要创建:剩余次数,随机数这两个变量。然后我们还需要变量i,用来表示字符序号,变量N,用来保存反馈给玩家的带X的数字。

2、和经典猜数字案例一样,我们随机出一个数字,但是难点在于,随机出的数字是1-4位数,如果不足4位数,我们需要用0来填充。很多小朋友在这步就做不出来了。

3、然后是根据题意,写判断语句,如果否则嵌套。先分为机会用尽也就是剩余次数为0和还有机会两种情况,猜到10次没猜对,那么说“机会用尽,正确答案”,还有次数的情况下,分为猜对了和没猜对,因为没猜对的话,我们需要根据题目要求返回一个带X的数字作为提醒。

4、猜对之后没什么好讲的。但是没猜对的话,难点就来了,重复4次,对比回答和那个随机数的4个字符,如果有一样的就连接存入变量N,注意不是直接设为。如果哪位数不一样,就用X来代替,用连接填充进入变量N。这里就有点像冒泡排序的思想,用变量作为存储空间,替换保存。但是注意变量N我们赋值空,并且循环一次之后,将i增加,意味着下一次循环判断第二位字符,这样就可以循环判断所有4位字符。将变量N也就是带X的数字反馈给玩家后,剩余次数-1。

5、最后一步,我们需要重复执行,那么重复执行停止的条件,是当猜对了,或者剩余次数小于0的时候。如果条件写成等于0,那么就不会进入循环,不能够说出“机会用尽,正确答案是多少“这句话了。

https://cdn.china-scratch.com/Public/Home/images/grey.gif

小结:本篇2019年第十一届少儿编程蓝桥杯scratch竞赛,宁波赛区的编程大题真题解析就到这里了。最后这道压轴题不得不说对于难度确实有点高。小朋友们没有接触过冒泡排序等算法思想,很难完成。可能很大一部分小朋友在最开始随机数字的时候就“折了”。小朋友们在完整掌握猜数字案例的基础上,还需要学习字符,字符串。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com