# 解密
罗马共和国的恺撒曾经用一种特殊的加密方式和他的将军们联系,他是这样做的:把一个单词里的每一个字母都向后移,比如A向后移3位,变成D,B就变成E,以此类推。等到X的时候,会变成A,Y变成B,Z变成C。请你编写一段脚本,在输入加密内容后,能够还原出加密前的内容。
![](http://h.yiniuedu.com/54bb44e49e33b509269e9ef578507152)
![](http://h.yiniuedu.com/122c503934b95414b77b4ba7f2932758)
![](http://h.yiniuedu.com/dc13fff2da1ffa3b51085739aaf2e338)
1. 准备工作
保留舞台的小猫,白色背景。
2. 功能实现
点击绿旗以后,输入加密内容,小猫会说出正确的加密前的内容。比如输入:“khoor”,小猫会说:“hello”。
3. 设计思路与实现
(1)角色分析
角色:默认角色小猫
(2)背景分析
背景:默认背景(无色)
(3)所用积木块介绍
a. 外观类
![](http://h.yiniuedu.com/ea6aa843ab03065681dede8e091ae004)
* 在规定的时间内在舞台上显示输入的文字。
**b. 事件类**
![](http://h.yiniuedu.com/5d46e6e5fabc50aa12a34831b5383259)
* 程序开始积木块。
* 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。
**c. 控制类**
![](http://h.yiniuedu.com/cd6a632e1760b032db3ec452e871014b)
* 循环积木块:一遍一遍地执行包起来的积木序列。
* 重复执行指定的次数后停止,该积木块通常在角色移动等场景中使用。
![](http://h.yiniuedu.com/9fc6793b22175616689e69b629313068)
* 条件判断语句,如果条件满足执行那么模块里面的积木指令,如果条件不成立,返回值为假,那么执行否则模块里面的积木指令。
**d. 侦测类**
![](http://h.yiniuedu.com/cdea46aaeb3b73bfc6c8daa658add79e)
* 角色发出询问,并在舞台下边框弹出对话框,等待用户的输入回答。
![](http://h.yiniuedu.com/1aca1e7dbed4bb995573cc0a7363cb9a)
* 实时的侦测用户所输入的回答,并存储在“回答”变量中。
**e. 运算类**
![](http://h.yiniuedu.com/83c3f2ff74800a9baaf71436c2905487)
* 比较运算,左边大于右边返回true值(真),否则返回false值(假)。
![](http://h.yiniuedu.com/11a08286669de5f80c936bdda88b6da7)
* 连接两个字符串,得到一个新的字符串。
![](http://h.yiniuedu.com/ebde7feee46f5c65b93f4055322b1e4e)
* 取出字符串中所给位置的字符。
![](http://h.yiniuedu.com/1029c3804e8fb3943cef4c7028f3c30b)
* 获取所给字符串的长度,即该字符串包含字符的个数。
![](http://h.yiniuedu.com/d169ffaf1fffd3ba11cc6aa70d8c3770)
* 算术运算,返回左边与右边的和。
![](http://h.yiniuedu.com/e115b3512d46c3d8be2a2da089078bc4)
* 算术运算,返回左边与右边的差。
**f. 变量类**
![](http://h.yiniuedu.com/e438b39b2b2506e3cd512a7d6236fe05)
* 建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。
![](http://h.yiniuedu.com/01c085578c8ec91da52671561518dbca)
* 设置变量的值为给定值,通常用于初始化变量。
![](http://h.yiniuedu.com/d9d37faef5c25154c8dc3000a15caea9)
* 设置变量的值为自身的值加X。
![](http://h.yiniuedu.com/ef8ece66e6e4a72f543dbc110a048600)
* 建立一个列表,输入列表名称,然后选择适用于所有角色还是适用于当前角色。
![](http://h.yiniuedu.com/fc6c1be616045973a98c7afd15931959)
* 将一个元素加入到列表的末尾。
![](http://h.yiniuedu.com/b4e07d0fea9b9be59791e00bdc765e62)
* 获取列表中索引为X的项目。
![](http://h.yiniuedu.com/8dded3b4a665fca69256c61a69276d83)
* 获取列表中项目第一个为X的索引号。
**g. 自制积木类**
### (4)角色、舞台背景设置
**a. 角色设置**
默认角色设置,无需修改角色造型。
**b. 舞台背景设置**
默认舞台背景设置,无需修改舞台背景。
### (5)脚本编写
新建列表“字母表”,用于存储26个字母的列表。
![](http://h.yiniuedu.com/93c92fa45951f986c153bcf536ed8d72)
新建变量“原文”,用于存储解密后的原文。
![](http://h.yiniuedu.com/f39af1409ca9db4a7e4553fcdca55915)
新建变量“i”,用于存储遍历密文时的索引位置。
![](http://h.yiniuedu.com/c3b7637079607febf0fcaa7584a96f1b)
新建变量“编号”,用于存储字符在字母表中的序号。
![](http://h.yiniuedu.com/e3f8eefdfb401f64b5f33ee765ea7d12)
定义函数“初始化字母表”,没有参数,用于在列表中记录字母表。
![](http://h.yiniuedu.com/b72027fd40e92aa3cfc53569e13e72d0)
函数:初始化字母表。
![](http://h.yiniuedu.com/590f52a1df621b6a154aa152c2b435dd)
**a. 角色:小猫**
![](http://h.yiniuedu.com/ad79bef112cb3cd2548e44acc1cedba2)
按照a到z给字符编号1到26,即字母表的索引号。字母d到z的原文是a到w,向前推3个字符,即当前编号 - 3。而a到c的原文是x到z,即当前编号 + 23。
流程描述:
点击小绿旗时:
开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
初始化字母表,通过字母表的索引来实现密文的还原。
初始化变量:原文 = 空,i = 1。
重复执行 回答的字符数次:遍历密文的每个字符
编号 = 字母表中第一个 回答的第i个字符 的编号。
如果 编号 > 3, 那么,原文 = 原文 + 字母表的第 编号-3 项
否则 原文 = 原文 + 字母表的第 编号 + 23 项
i = i + 1
小猫说“加密前的内容是:XXX”,2秒。
4. 评分标准
(1)小猫能询问输入 (2分)
(2)能正确解密 (8分)
(3)能使用列表 (5分)
5. 考点分析
四级考试大纲与说明
(一)考核目标
学生对编程软件的较强综合操作能力,考查使用软件进行数据处理的能力,同时对函数和过程的理解和使用进行考查,以及学生对已掌握知识的深度综合应用及思考更优程序方案,另针对参加 4 级考试的学生将进行结合分析和计算的情境考查。
(二)能力目标
通过本级考试的学生,逻辑推理能力很不错,对数据的处理,函数和过程等的理解和使用掌握得很不错,对已学知识的综合应用能力很好,具备一定的程序调试和优化能力。学生对编程软件的进一步综合操作能力,考查新建链表,字符串处理,循环的复杂运用,理解函数的作用范 围,理解多线程的概念,同时考查学生对已掌握知识的深度综合应用, 另针对参加 4 级考试的学生将进行难度更高的逻辑推理能力的考查。
(三)考试标准
1、理解并使用链表、函数和多线程。
1)能够新建链表;
2)能够完成对链表中数据的插入、删除;
3)字符串处理;
4)能够自己创建一个有返回值的函数;
5)理解函数的作用范围;
6)理解多线程的概念;
7)循环的复杂运用;
8)逻辑,算法过渡。
(四)知识块
1. 字符串:字符串操作,加密
2. 函数:不同类型函数的创建,参数的设置,返回值,函数的调用
3. 链表:创建链表,实现数据的增、删、改、查,显示和隐藏,找最值,平均值等
4. 大综合:前面所有知识点的综合使用,考查
5. 程序优化:使用已有知识进行问题的优化
6. 逻辑,算法过渡:分析和计算情境考察,如爬楼梯的方法(递归)
7. 循环的复杂运用:循环的结构,循环的嵌套,递归调用
参考答案二:
![](http://h.yiniuedu.com/3fd26ba6f7e6790105ac132f80093865)
- 一、图形化(Scratch3.0)编程
- 一、新手篇
- 1.Scrach前世:Logo语言
- 2.可视化Scratch编程软件的诞生
- 3.Scratch 4P原则
- 4.面向未来的Scratch
- 5.Scratch3.0下载和介绍
- 6.Scratch3.0本地安装
- 7.Scratch3.0编辑器布局介绍
- 二、入门篇
- 1.舞台区
- 2.角色区
- 3.控制区(积木区)
- 4.代码区
- 5.声音的操作
- 6.背景的操作
- 7.逻辑操作
- 7.1逻辑推理
- 7.2形象思维
- 7.3图形推理
- 三、基础篇
- 1.变量的使用
- 2.列表的使用
- 3.条件与循环的使用
- 4.角色动画
- 5.运动积木功能使用详解
- 6.方向键、角色旋转,移动滑行编程
- 7.外观积木功能使用详解
- 8.变大变小(缩放)和显示隐藏示例
- 9. 声音积木功能说明大全—声音积木示例
- 10.事件积木大全
- 1.案例设计-有声音就心动
- 2.事件和消息
- 四、初级篇
- 奥运五环
- 绘制红色实心爱心
- 五、中级篇
- 第1课 小猫数数—初始变量
- 1.1课程学习
- 1.2课程回顾
- 1.3课程练习
- 1.4提高扩展
- 第2课 滑动的数—变量的滑杆模式
- 第3课
- 第4课
- 第5课
- 第6课
- 第7课
- 第8课
- 第9课
- 第10课
- 第11课
- 第12课
- 第13课
- 第14课
- 第15课
- 第16课
- 第17课
- 第18课
- 第19课
- 第20课
- 六、高级篇
- 二、练习题
- 1.一级练习题
- 一级20220619
- 2022年3月一级
- 2021年12月一级
- 2021年9月一级
- 2021年6月一级
- 2021年3月一级
- 2020年12月一级
- 2.二级练习题
- 2021年9月二级
- 2021年6月二级
- 2021年3月二级
- 2020年12月二级
- 3.三级练习题
- 三级20220619
- 2022年3月三级
- 2021年12月三级
- 2021年9月三级
- 2021年6月三级
- 2021年3月三级
- 2020年12月三级
- 4.四级练习题
- 2021年9月四级
- 2021年6月四级
- 2021年3月四级
- 2020年12月四级
- 三、模拟题
- 二级模拟题-飞不出去的蝴蝶
- 二级模拟题-巡线小车
- 四级模拟题-加密解密
- 四、逻辑推理
- 1.逻辑推理
- 五、计算思维
- 1.简单计算思维
- 六、常见问题汇总
- 1.工具问题
- 1.1Chrome不支持WebGL怎么办
- 七、学习
- 一
- 第1课初识图形化编程-软件安装
- 第2课和小猫互动-搭建积木
- 第3课小猫辨真假-添加角色
- 第4课遇见好朋友-移动角色
- 第5课绚丽的舞台-切换背景
- 第6课猜猜我是谁-单击角色
- 第7课跳舞达人秀-设置特效
- 第8课小青蛙过河-编辑背景
- 第9课舞动的蝴蝶-绘制角色
- 第10课百变换新装-本地角色
- 第11课小猫捉气球-随机位置
- 第12课随音乐舞动-播放声音
- 第13课随陨石移动-跟随鼠标
- 第14课舞台变变变-编辑背景
- 第15课机器人变形-巧用摄像头
- 第16课小猫梦游记-综合运用
- 二
- 第1课向城堡出发-了解舞台坐标
- 第2课小猫变魔术-设置角色特效与图层
- 第3课小猫做算术-使用数学运算
- 第4课精准走动的时钟-使用无线循环
- 第5课学习飞行的鹦鹉-使用确定性的循环
- 第6课猫抓老鼠-使用选择结构
- 第7课弹弹球-侦测颜色
- 第8课猜猜我的坐标-使用双分支选择结构
- 第9课放烟花-使用不确定性循环
- 第10课一闪一闪亮晶晶-演奏音乐
- 第11课小猫的魔法书-录制声音
- 第12课画正多边形-使用画笔
- 第13课看看声音的模样-应用画笔
- 第14课打气球-侦测视频运动幅度
- 第15课送小企鹅回家-侦测视频运动方向
- 第16课保卫城堡-综合运用
- 三
- 第1课小猫数数-初始变量
- 第2课滑动的数-变量的滑竿模式
- 第3课跳动的数-初识随机数
- 第4课循环计数--应用多变量
- 第5课营养大师-应用选择嵌套
- 第6课猜数游戏-应用有限循环与选择的嵌套
- 第7课躲避游戏-应用循环与复杂条件判断的嵌套
- 第8课射击游戏-跳出循环的方法
- 第9课七彩图案-设置画笔参数为变量
- 第10魔幻画板-设置画笔的饱和度、亮度与透明度
- 第11课美丽花环-用画笔图章作画
- 第12课雄伟长城-循环嵌套绘制趣味图形
- 第13课魔术表演-初识广播
- 第14课歌舞表演-多角色广播
- 第15课吃虫游戏-对克隆的认识与基本应用
- 第16课击球游戏-克隆的综合应用
- 第17课分装水果-运算积木的综合应用
- 第18课诗词大会-多重逻辑关系的表达与应用
- 第19课寻找高手-文字推理的数学符号表达与应用
- 第20课知识竞赛-综合运用
- 四
- 第1课唐诗复读机-字符串输入输出
- 第2课批改小帮手-字符串处理
- 第3课凯撒密码-字符串应用
- 第4课绘制花团-积木的定义与调用
- 第5课花开满园-有参自制积木的定义与调用
- 第6课雪花曲线-递归算法
- 第7课初识列表-随机点名系统
- 第8课班级花名册管理-列表的应用
- 第9课莫尔斯电码-列表的关联
- 第10课元旦大抽奖-列表的应用
- 第11课时光飞逝-有趣的进制
- 第12课能买多少只鸡?-循环遍历的应用
- 第13课寻找神奇的数字-循环忙不停
- 第14课数的交换-奇妙的算法
- 第15课最大和最小-极值问题
- 第16课计费器-分段计费
- 第17课来电播报-数位分离
- 第18课春游与植树-数的判断
- 第19课国王发金币-神奇的数列
- 第20课 模拟摸球实验-生活中的概率
- 第21课 鸡兔同笼-程序优化
- 第22课 一起来排队1-冒泡排序
- 第23课 一起来排队2-选择排序
- 第24课 扑克牌排顺序-插入排序