当前位置: 首页 > news >正文

【编程题】【Scratch四级】2021.12 森林运动会

森林运动会

在森林运动会中,小猫、小狗、小兔子、乌龟、小猴子参加了800米耐力跑项目,分别耗时3分25秒、4分15秒、3分45秒、4分45秒、4分5秒。请设计程序实现自动排名。

排序前

排序后

1. 准备工作

(1)保留小猫角色及空白背景;

2. 功能实现

(1)建立名为“耐力跑”的列表,用于记录运动员的成绩,以秒为单位;

(2)点击绿旗,初始化列表,依次往列表中加入:205,255,225,285,245;

(3)点击小猫,对运动员的成绩进行降序排列。

3. 设计思路与实现

(1)角色分析

角色:默认角色小猫

(2)背景分析

背景:默认背景(无色)

(3)所用积木块介绍

a. 事件类

  • 程序开始积木块。
  • 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。

  • 当角色被点击时,执行后面的程序指令。

b. 控制类

  • 条件判断语句,如果条件返回值为真(bool值),那么执行模块里面的积木指令,如果条件不成立,返回值为假,执行条件判断模块后面的程序指令。

  • 循环积木块:一遍一遍地执行包起来的积木序列。
  • 判断条件是否为真,如果尖尖角里面的返回值为真则停止循环。

c. 运算类

  • 比较运算,左边大于右边返回true值(真),否则返回false值(假)。

  • 比较运算,左边小于右边返回true值(真),否则返回false值(假)。

  • 算术运算,返回左边与右边的差。

  • 算术运算,返回左边与右边的乘积。

d. 变量类

  • 建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。

  • 设置变量的值为给定值,通常用于初始化变量。

  • 设置变量的值为自身的值加X。

  • 建立一个列表,输入列表名称,然后选择适用于所有角色还是适用于当前角色。

  • 将一个元素加入到列表的末尾。

  • 获取列表中索引为X的项目。

  • 列表中包含项目的数目。

  • 清空列表。

  • 将列表中索引为X的项目设置为新的项目Y。

(4)角色、舞台背景设置

a. 角色设置

默认角色设置,无需修改角色造型。

b. 舞台背景设置

默认舞台背景设置,无需修改舞台背景。

(5)脚本编写

新建列表“耐力跑”,用于记录运动员的成绩。

新建变量“i”,用于冒泡排序的外层循环计数,即每次确定第“i”个位置的取值。

新建变量“j”,用于冒泡排序内层循环的相邻元素比较。

新建变量“temp”,临时变量,用于两个元素交换时的临时存储。

a. 角色:小猫

编程思路:冒泡排序


当点击绿旗时:

  1. 开始:点击绿棋,开始执行代码。
  2. 清空列表。(初始化列表,依次往列表中加入:205,255,225,285,245;)
  3. 将数据205,255,225,285,245依次加入到列表中。

当角色被点击时

  1. 初始化变量:i = 1。
  2. 重复执行直到 i > 耐力跑的项目数 - 1:
    • 初始化变量:j = 耐力跑的项目数
    • 重复执行直到 j < i+1:
      • 如果耐力跑的第j项 > 耐力跑的第j-1项,那么将耐力跑的第j项和第j-1项交换。
      • j -= 1。
    • i +=1

4. 评分标准

(1)初始化列表,删除所有项后,加入成绩;(2分)

(2)点击小猫后,排序降序排列正确;(5分)

(3)正确删除、替换链表中的数据;(2分)

(4)正确使用循环的嵌套;(1分)

5. 知识块

相关文章:

  • chapter 01 字符串的那些事
  • 给Python漫画分集标题下载工具开发Qt界面
  • 电子学会2022年6月青少年软件编程(图形化)等级考试试卷(二级)答案解析
  • 【Redis实战】生产中使用Redis的一些注意事项
  • 线性代数学习笔记8-3:二次型、合同矩阵、标准型、规范型
  • 06-vue-routers.js的基本使用,路由从定向,router-link代替a标签及样式,路由嵌套,路由动画
  • 【OpenCV】Chapter9.边缘检测与图像分割
  • 5. C# :单选框RadioButton、标签Label、列表框ListBox
  • vmware ubuntu 操作
  • 《linux程序设计》第二章笔记
  • 1. 数据结构基础知识
  • 第一章 绪论
  • 【误码率仿真】基于matlab多径信道下OFDM通信系统误码率仿真【含Matlab源码 2078期】
  • 【误码率仿真】基于matlab LDPC编译码误码率仿真【含Matlab源码 2079期】
  • 【Python基础】面向对象封装 案例(一)
  • classpath对获取配置文件的影响
  • css的样式优先级
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JS数组方法汇总
  • Linux中的硬链接与软链接
  • mysql innodb 索引使用指南
  • MySQL-事务管理(基础)
  • Node 版本管理
  • node学习系列之简单文件上传
  • python学习笔记 - ThreadLocal
  • Swoft 源码剖析 - 代码自动更新机制
  • 来,膜拜下android roadmap,强大的执行力
  • 前端相关框架总和
  • 我的业余项目总结
  • scrapy中间件源码分析及常用中间件大全
  • ​ssh免密码登录设置及问题总结
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #NOIP 2014# day.1 T2 联合权值
  • #pragma multi_compile #pragma shader_feature
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (145)光线追踪距离场柔和阴影
  • (16)Reactor的测试——响应式Spring的道法术器
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (一)WLAN定义和基本架构转
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)拼包函数及网络封包的异常处理(含代码)
  • .htaccess配置重写url引擎
  • .NET Core跨平台微服务学习资源
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET关于 跳过SSL中遇到的问题
  • .NET基础篇——反射的奥妙
  • .NET开源快速、强大、免费的电子表格组件
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数