金牌百分比
计算金牌榜前十的国家获得的金牌总数占金牌总数的百分比。金牌榜前十的国家获得的金牌总数占金牌总数的百分比等于(金牌榜前十国家的金牌总数÷本届冬奥会金牌总数)×100,并将这个数向下取整。
1. 准备工作
(1)保留舞台默认背景及角色小猫;
(2)建立变量“金牌总数”,建立列表“金牌榜前十”。
2. 功能实现
(1)添加十个5到20之间的随机数到列表“金牌榜前十”中;
(2)设置变量“金牌总数”为一个200到300之间的随机数;
(3)让角色小猫说出金牌榜前十的国家获得的金牌总数占金牌总数的百分比,注意必须为整数,如上图所示。
3. 设计思路与实现
(1)角色分析
角色:默认角色小猫
(2)背景分析
背景:默认背景(无色)
(3)所用积木块介绍
a. 外观类
- 在规定的时间内在舞台上显示输入的文字(说话云朵)。
b. 事件类
- 程序开始积木块。
- 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。
c. 控制类
- 循环积木块:一遍一遍地执行包起来的积木序列。
- 重复执行指定的次数后停止,该积木块通常在角色移动等场景中使用。
d. 运算类
- 算术运算,返回左边与右边的商。如果分母为0,那么返回 Infinity。
- 随机得到设定区间中的任一值,包含两个区间的端点。
- 连接两个字符串,得到一个新的字符串。
- 算术运算,返回X的绝对值。下拉框包括:向下取整、向上取整、平方根、sin、cos、tan、asin、acos、atan、ln、log、e^ 、10^。
e. 变量类
- 建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。
- 设置变量的值为给定值,通常用于初始化变量。
- 设置变量的值为自身的值加X。
- 建立一个列表,输入列表名称,然后选择适用于所有角色还是适用于当前角色。
- 将一个元素加入到列表的末尾。
- 清空列表。
- 获取列表中索引为X的项目。
(4)角色、舞台背景设置
a. 角色设置
默认角色设置,无需修改角色造型。
b. 舞台背景设置
默认舞台背景设置,无需修改舞台背景。
(5)脚本编写
编程题的功能实现有多种方案,标准答案所示参考程序仅是其中的一种,最终以是否完成题目要求的功能实现效果作为评分依据。
新建变量“金牌总数”,用于存储所有国家的金牌总数。
新建列表“金牌榜前十”,用于存储金牌榜前十国家的金牌总数。
新建变量“i”,用于遍历列表的索引。
新建变量“s”,用于存储金牌榜前十国家的金牌总数之和。
a. 角色:小猫
当绿旗被点击时:
- 开始:点击小绿旗,也就是程序启动,就要执行后续的程序指令。
- 清空列表。
- 重复执行10次:(添加十个5到20之间的随机数到列表“金牌榜前十”中;)
- 将5至10之间的随机数加入到列表中。
- 初始化变量“金牌总数” = 200至300之间的随机数(设置变量“金牌总数”为一个200到300之间的随机数)。
- 初始化变量“i”=1,“s”=0。
- 重复执行10次:
- s += “金牌榜前十”的第“i”项
- i += 1
- 小猫说出金牌榜前十的国家获得的金牌总数“s”占“金盘总数”的百分比,2秒。
4. 评分标准
(1)能建立变量“金牌总数”,初始化变量为200到300的随机数;(2分)
(2)能建立列表,用随机数初始化列表;(3分)(注意没有删除列表的全部项目,扣1分)
(3)利用循环控制变量累加;(6分)(如果没用循环,将前十项直接相加,扣1分)
(4)正确说出金牌总数百分比。(4分)(注意没有向下取整扣1分,没有乘以100扣1分,没有用连接加%扣1分)