从小到大排序
小猴子询问输入5个数,存入列表后,将这些数字从小到大排列后重新存入列表。
1. 准备工作
(1)保留舞台默认白色背景;
(2)删除小猫角色,添加Monkey角色。
2. 功能实现
(1)点击绿旗,询问“请输入一个数:”,等待输入,重复5次输入5个数字;
(2)将输入的5个数保存到列表“数组”中;
(3)小猴子说“输入的5个数字从小到大排序”,列表中的数字会小到大排列。
3. 设计思路与实现
(1)角色分析
角色:Monkey
(2)背景分析
背景:默认背景(无色)
(3)所用积木块介绍
a. 外观类
- 在规定的时间内在舞台上显示输入的文字。
b. 事件类
- 程序开始积木块。
- 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。
c. 控制类
- 循环积木块:一遍一遍地执行包起来的积木序列。
- 重复执行指定的次数后停止,该积木块通常在角色移动等场景中使用。
- 条件判断语句,如果条件返回值为真(bool值),那么执行模块里面的积木指令,如果条件不成立,返回值为假,执行条件判断模块后面的程序指令。
- 循环积木块:一遍一遍地执行包起来的积木序列
- 判断条件是否为真,如果尖尖角里面的返回值为真则停止循环
d. 侦测类
- 角色发出询问,并在舞台下边框弹出对话框,等待用户的输入回答。
- 实时的侦测用户所输入的回答,并存储在“回答”变量中。
e. 运算类
- 比较运算,左边等于右边返回true值(真),否则返回false值(假)。
- 比较运算,左边小于右边返回true值(真),否则返回false值(假)。
- 算术运算,返回左边与右边的差。
f. 变量类
- 建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。
- 设置变量的值为给定值,通常用于初始化变量。
- 设置变量的值为自身的值加X。
- 建立一个列表,输入列表名称,然后选择适用于所有角色还是适用于当前角色。
- 将一个元素加入到列表的末尾。
- 清空列表。
- 列表中包含项目的数目。
- 获取列表中索引为X的项目。
- 将列表中索引为X的项目设置为新的项目Y。
g. 自制积木类
- 建立一个积木,输入积木名称,然后添加积木的参数,以及选择“运行时是否刷新屏幕”。
(4)角色、舞台背景设置
a. 角色设置
按照题目要求,删除默认的小猫角色。
在角色区,点击“选择一个角色”菜单,在角色库中选择“Monkey”。
b. 舞台背景设置
默认舞台背景设置,无需修改舞台背景。
(5)脚本编写
创建一个列表:“数组”,用于存储输入的五个数以及排序之后的五个数。
a. 角色:Monkey
制作新的积木,“排序”,用于对输入的五个数字进行排序。
新建一个变量:“i”。
新建一个变量:“j”。
函数描述:该排序使用冒泡排序算法,主要思想是通过相邻记录之间的比较和交换,使关键字较小的记录如气泡一般逐渐向上漂移直至水面。
- i = 1,变量i用于记录第i个排好序的元素。
- 重复执行 数组的项目数-1 次:每次排好一个数字,一共排好 数组的项目数-1 个数字。
- j = 数组的项目数
- 重复执行直到 i==j:
- 如果 数组的第j项 小于 数组的第j-1项,那么交换这两项,即轻的向上移动。
- j = j-1
- i = i + 1
当按下绿旗时:
- 开始:点击小绿旗,也就是程序启动,就要执行后续的程序指令。
- 初始化列表:清空列表“数组”。
- 重复执行直到 数组的项目数 == 5:输入五个数字存入列表中。
- 询问“请输入一个数:”并等待
- 将“回答”加入数组
- 说“输入的5个数字从小到大排序”2秒。
- 调用排序积木块,列表中的数字会从小到大排列。
4. 评分标准
(1)删除小猫角色,添加Monkey角色;(1分)
(2)点击绿旗,询问5次“请输入一个数:”并等待;(2分)
(3)将输入的5个数加入列表;(2分)
(4)编写程序实现:将输入的5个数按照从小到大的顺序显示在列表中。(5分)