猜数字 |
您所在的位置:网站首页 › 看到了死人老是想这4这个数 › 猜数字 |
[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第97讲。 蓝桥杯选拔赛每一届都要举行4~5次,和省赛、国赛相比,题目要简单不少,再加上篇幅有限,因此我精挑细选了一部分题目进行解读。 第11届蓝桥杯青少年组第3次选拔赛于2019年11月17日举行,形式为线下考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。 猜数字,本题是2019年11月17日举行的第11届蓝桥杯Scratch地区选拔赛真题编程第4题,题目要求编程创作猜数字游戏,小猫随机想了一个[0000, 9999]之间的四位数,由玩家猜这个四位数是多少。 先来看看题目的要求吧。 一.题目说明编程实现: 1). 小猫随机想了一个[0000, 9999]之间的四位数,由玩家猜这个四位数是多少? 2). 当玩家手动输入猜测的四位数字之后,程序将这四位数字中猜对的位数以真实的数字显示出来,没猜对的位数用 X 表示; 3). 一共可以猜10次,舞台左上角显示剩余次数,在10次内将四位数字全部猜对,小猫会说“恭喜你,答对了!”,并停止程序。如果十次都没有猜对,小猫则会说“机会用尽,正确答案是 XXXX”, 然后停止程序。 评判标准: 10 分:小猫随机想了一个[0000, 9999]之间的四位数,屏幕下方出现输入框; 30 分:输入数字,能得到正确的反馈结果; 50 分:猜对会停止; 80 分:十次机会用尽之后,能按要求正确地输出; 100 分: 完成全部任务要求且没有差别。 二.思路分析本题只有1个默认的小猫角色,如图: 一提到随机数,很多同学立刻会想到随机数指令,如图: 使用这个指令可以生成0-9999之间的随机数,但是它只能生成0、1、2、3这样的数字,不能生成0000、0001、0002、0003这样的四位数。 我们可以换个思路,逐位生成随机数,随机数的范围设为0-9,然后再将4个数字组合得到一个完整的4位数。 有了4位数,接下来就需要判断玩家输入的数字是否正确,如果正确,直接提示答对了,如果错误,则需要找出错误的数字,并使用X来表示。这意味着我们需要对每一位数字进行比较,这是典型的字符串遍历操作,通常使用字符串运算符、变量结合循环结构来实现。 三.编程实现根据题目描述和思路分析,我们可以分三步来编写程序: 随机生成4位数 判断玩家输入是否正确 增加次数限制 1. 随机生成4位数 根据思路描述,先定义一个变量“数字”,将其初始值设为空,然后使用循环将每次生成的随机数进行字符串拼接操作,就可以得到一个随机4位数,代码如下: 对于字符串操作,初始值要设置为空才行,不能设置为0。 2. 判断玩家输入是否正确 接下来, 就需要提问并判断玩家的输入是否正确,如果回答正确,提示答对了,并结束程序,否则就需要对数字进行逐位比较,对应的逻辑如代码所示: 为了简化程序和方便讲解,这里将逐位比较的功能定义成了自制积木,具体的代码如下: 比较的过程就是循环的过程,使用计数器变量“i”,逐个获取“回答”和“数字”的字符,并将每一位数字的比较结果进行拼接存入变量“结果”中,猜错的数字使用“X”表示。 3. 增加次数限制 上面的代码只进行了一次问答,题目要求玩家可以猜10次,并在舞台左上角显示剩余次数。因此,我们需要定义一个变量“剩余次数”,并增加循环指令,代码如下: 至此,整个作品就创作完成了,你可以试试,看看10次之内能不能猜出正确的数字。 四.总结与思考本题难度系数为5,积木块数量45个左右 ,涉及到的知识点主要包括: 随机数指令; 字符串连接操作,尤其是结合循环、变量遍历字符串; Scratch问答指令; 变量的灵活运用,尤其要注意字符串变量的初始化; 循环和条件指令的嵌套使用; 使用自制积木来简化代码较高。 本题难度中等,重点有两个,一是生成随机4位数,二是字符串遍历操作。这里还有一个隐含的知识点,就是数据类型,所有的编程语言都区分数据类型,简单的数据类型包括数值、字符串和布尔类型。 在Scratch中,也有这三种类型,不过数值类型和字符串类型区分不明显,如果字符串中的字符都是数字,则它可以直接作为数值类型参与数学运算,反之,对于任何一个数字,也可以直接当作字符串来使用。 针对[0000, 9999]之间的任意随机数,有没有什么技巧确保在10次之内一定能猜中呢,欢迎和超平老师交流。 如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,Thanks♪(・ω・)ノ。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |