目录
scratch消除字母
第十四届青少年蓝桥杯scratch编程省赛真题解析
一、题目要求
编程实现
1.点击绿旗,角色、背景如图所示:(创建一个字母表,并存入26个字母)
2.等待1秒,阿拉蕾说:“请输入一个字母”,舞台下方出现询问框
3.当在询问框中输入一个字母表中存在的字母,等待1秒,阿拉蕾将此字母和它的前两项与后两项字母说出,,然后从字母表中 删除这五个字母
(列表第一项的前一项是列表的最后一项,列表最后一项的后一项是第一项)
例如:输入C,阿拉蕾说:“删除ABCDE”后,列表中的这五个字母删除
例如:输入F,阿拉蕾说:“删除YZFGH”后,列表中的这五个字母删除
4.当询问框中输入一个字母表中不存在的字母后,阿拉蕾说:“输入错误”;
5.重复执行2)3)4)步骤,当字母表中的字母不足5个时,程序结束。
二、案例分析
1、角色分析
角色:阿拉蕾
2、背景分析
背景:Room 1
3、前期准备
1、删除默认的小猫角色,并从电脑中添加阿拉蕾到角色列表中
2、从电脑中添加Room 1背景到舞台中,并删除默认的空白背景
3、声明两个变量和两个列表:i(遍历获取序号),字母(获取对应的字母),字母表(存放26个字母的列表),删除表(存放要删除的5个字母列表)
三、解题思路
1、思路分析
照着题目的功能实现要求一步一步设计完成:
- 首先认真分析题目,从题目可以看出本案例主要是列表相关操作
- 列表操作属于scratch中高阶范畴,有一定的难度
- 小朋友们碰到这类题型一定要认真仔细逐一按步骤来会好很多
- 先初始化26个字母的列表(可以直接添加26个,也可以使用字符串遍历加入)
- 接着就是将输入的字母进行判断是否在列表中,不在提示错误,在就需要找出前后各两个字母和自己共5个字母,这时候小朋友可以使用5个变量也能完成,小兔子老师这边建议使用额外加一个列表比较方便
- 如何找到5个字母其实关键就在于第3个要求提到的:列表第一项的前一项是列表的最后一项,列表最后一项的后一项是第一项;所以可以先用一个变量记录输入的字母在列表中的第几项减去2(从前面第二项开始入手),如果这个变量的值小于1也就是出现列表前面不存在的情况那就找到列表的后面去,就将该变量的值加上列表的项目数即可;
- 同样的倒立,如果这个变量的值大于列表项目数,那就是出现列表后面不存在的情况就回到列表的最前面,就将该变量的值减去列表的项目数即可
- 然后依次将列表的第变量项的字母取出来并加入到临时列表中
- 然后按题目要求说出对应要删除的这五个字母
- 说完之后依次将临时列表中的5个字母对应字母表中的字母删除即可,直到字母表中的字母个数小于5程序结束
2、详细过程
- =====开始程序=====
- 初始化字母表
- 等待1秒
- 询问输入一个字母
- 如果输入的字母不在字母表中 提示输入错误
- 否则 调用自定义积木 获取五个字母(回答)
- 说 删除获取到的5个字母
- 调用自定义积木删除字母
- 一直重复执行第4-8步直到字母表的项目数小于5
- =====获取五个字母程序=====
- 清空删除表
- i设为字母表中第一个char编号-2
- 如果i<1 i = i+字母表项目数
- 如果i>字母表项目数 i=i-字母表项目数
- 将字母表第i项加入删除表
- i+1
- 重复5次第13-16步
本文作者:小兔子编程 作者首页:https://blog.csdn.net/frank2102
四、程序编写
五、考点分析
此案例难度系数4;综合考查角色、背景添加、循环、条件判断、询问机制、人机交互、关系运算、逻辑运算、字符串操作、列表操作、自定义积木等相关积木的使用;难点在于:
- 分析题目 找到解题思路
- 如何实现角色、背景的添加
- 如何实现产生26个字母
- 如何实现输入的字母不在列表中有提示
- 如何实现字母列表中的元素小于5个程序结束
- 如何实现根据输入的字母找到前2个字母和后两个字母
- 如何实现说完删除后字母列表中对应的字母正确删除
- 充分掌握条件判断、变量、循环、列表操作和自定义相关积木的使用
方式方法有多种,小兔子老师只是使用了其中一种,小朋友们只要能实现题目要求即可
六、推荐资料
1、入门基础
2、蓝桥杯比赛
3、考级资料
- 画图-scratch编程考级99图
- 电子学会历年scratch等级考试一级真题解析
- 电子学会历年scratch等级考试二级真题解析
- 电子学会历年scratch等级考试三级真题解析
- 电子学会历年scratch等级考试四级真题解析