资源简介 消防小达人项目第四讲: 隐患排查一、 课程目标1、学习列表[将()加入(列表)、将(列表)的第()项替换为()、删除(列表)的全部内容]等积木脚本的使用;2、学习克隆、颜色侦测、条件判断等积木脚本的使用;3、学习使用自制积木简化程序脚本。二、 课堂组织形式1、开放式问题讨论2、引导式思维发散3、问答式课堂互动4、针对问题探究实践5、学生动手制作项目6、课堂内容梳理巩固三、课堂准备编号 名称 内容 来源 备注【 1】 PPT 课件 课堂全流程演示文稿 火星科学盒官网【2】 课程资料 PPT 课件、讲义、视频 火星科学盒官网【 3】 教师参考程序 项目完整程序 网盘链接下载【4】 学生上课使用资料 笔记本电脑或者台式电脑 老师自备 电脑系统需求: win 10+,或 macOS 10.13+micro:bit 板 火星人商城采购编程所需素材 网盘链接下载课堂报告 网盘链接下载【 5】 编程软件下载 scratch3.0 scratch 官网 课前下载安装【6】 micro:bit 连接 Scratch Link scratch 官网 课前下载安装Scratch micro:bit HEX scratch 官网四、主要脚本程序编号 详细内容 功能描述【 1】 “将()加入(列表)” 将指定数据加入列表,成为列表的最后一项【2】 “将(列表) 的第()项替换为 ()” 替换列表中的指定项为指定内容【 3】 “(列表)中包含()” 侦测列表中是否包含指定数据,包含时值为 真,不包含时值为假【4】 “删除(列表)的全部项目” 把列表中的所有内容删除,清空列表五、上课流程本节课包括 5 步具体流程:(1)第 1 步为功能分析。分析隐患排查过程需要的角色、查找的基本方法和查找的流程。时长控制在 10 分钟内。(2)第 2、3 步为程序编写。逐步分析并完成鼠标点击查找隐患位置以及圆圈标注隐患位置的程序编写, 在编写过程中学习列表的 使用;之后完成第二个场景中隐患查找的脚本,观察并分析脚本中重复使用的积木组, 使用自制积木简化程序脚本;最后完成所有场 景的隐患查找。 时长控制在 70 分钟内。(3)第 4 步为拓展思考。给出一个课后编程任务并针对其中的问题给出提示,学生在课后进行思考编程。时长控制在 5 分钟内。(4)第 5 步为课堂总结, 以知识图谱的形式总结课程内容,并提问本节课学习的重点积木脚本。时长控制在 5 分钟内。上课步骤 主要内容 备注【第 1 步】 功能分析 【对应 PPT】“自定义函 数” 【时长】 10min 【引入】 上节课完成了火灾演习的全部脚本编写, 并且确定了查找消防隐患时需要的角色以及 查找的方法。那么隐患排查的基本流程是什么呢? 【讲解】 1. 讲解隐患排查过程中需要用到的角色以及排查的基本方法; 2. 带领利用流程图梳理隐患排查的基本流程。【第 2 步】 项目编程 【对应 PPT】“查找火灾 隐患” 【时长】 35min 【讲解】 用提问的形式带领学生分析实现隐患排查中的各个功能时, 需要的积木命令分别是什 么; 【制作】 编写程序实现游戏切换到场景“隐患 1”的背景(程序样例见“第六部分 - 程序 6-2”) 【讲解】 分析场景 1 中查找各个隐患分别需要侦测什么颜色。 【制作】 学生编写程序,拼接点击鼠标,侦测颜色,查找隐患的脚本。(程序样例见“第六部分 - 程序 6-3”)【讲解】 带领学生分析圆圈出现在鼠标点击的正确的隐患位置的过程, 分析实现该功能需要的 积木命令。 【制作】 学生拼接脚本实现圆圈出现在鼠标点击的正确位置的功能。(程序样例见“第六部分 - 程序 6-4”) 【讲解】 1. 带领学生运行程序并查找存在的问题; 2. 讲解可以使用把隐患数目和状态存起来,来避免每处隐患被多次重复查找的方法; 3. 讲解如何用列表避免每处隐患被多次查找, 以及如何用列表记录该场景中的隐患以 查找完成; 4. 讲解列表相关积木脚本的使用以及在本次作品中如何使用。 【制作】 1. 学生新建列表并使用列表的相关积木实现隐患的正常排查。(程序样例见“第六部分 - 程序 6-5”) 2. 学生独立完成第二个场景中隐患排查的脚本编写 【讲解】1. 学生脚本拼接完成后,带领学生运行作品并分析存在的问题; 2. 分析问题出现的原因以及可能的解决方案; 【制作】 1. 学生添加积木,解决切换场景后圆圈角色没有消失的问题(程序样例见“第六部分 - 程序 6-6”) 2. 学生添加脚本解决列表没有清空的问题(程序样例见“第六部分 - 程序 6-7”)【第 3 步】 脚本简化 【对应 PPT】“简化程序 脚本” 【时长】 35min 【衔接】 运行程序,现在查找场景“隐患 1”和“隐患 2”中火灾隐患的脚本已经成功编写完成了, 可以接着复制脚本来查找其他场景中的隐患, 但是复制的脚本太长了, 能不能用自制积 木简化呢? 【讲解】 1. 老师带领学生复习什么是自制函数, 分析在什么情况下可以使用自制函数; 2. 带领学生观察分析已经编写完成的脚本中可以进行简化的积木组; 3. 分析积木组中可以修改的参数及参数类型; 【制作】 学生简化积木脚本, 实现所有场景的隐患查找。(程序样例见“第六部分 - 程序 6-8”) 【衔接】现在, 所有场景的隐患查找的功能也就实现了, 接下来就是计算游戏所用的时间, 并根 据时间长短来判断等级了。【第 4 步】 拓展思考 【对应 PPT】“思考与拓 展” 【时长】 5min 【衔接】 尝试编程完成根据时间判断玩家等级的功能。 【思考】 如何实现在隐患全部查找完成时让时间停止。 这一部分的思考 内容在下节课会 详细讲解,学生 有能力的话可以 这节课课上完成【第 5 步】知识巩固 【对应 PPT】“总结与巩 固” 【时长】 5min 老师根据ppt 中的知识图谱回顾本节课的主要内容,带领学生完成知识总结提问: 在作品中有这样一个列表, 请说一下执行下面这两个积木时, 这个列表分 别发生的变化1. (问) 1. (答)2. (问) 2. (答)六、主要程序说明第六步: 火灾隐患查找程序样例编号 程序样例与说明 对应的角色6-2 【程序 6-2 描述】接收到开始排查的广播消息后,换成“隐患 1”背景。 【鼠标】6-3 【程序 6-3 描述】接收到开始排查的消息后,换成“隐患 1”背 景,之后一直侦测鼠标是否被按下,鼠标被按下时检测有没有碰 到隐患处的颜色,碰到时广播查找正确并播放正确的提示音。6-4 【程序 6-4 描述】点击绿旗后,角色与隐藏,接收到查找正确的 广播后,角色克隆一次自己,克隆体移到鼠标指针的位置,并隐 藏。 【圆圈】6-5 【程序 6-5 描述】接收到开始排查消息后,换成“隐患 1”背 景, 把“NO”加入三次到隐患状态列表中,之后一直侦测按下鼠 标时有没有碰到没有被找到的隐患,一直到所有的隐患被找到。 【鼠标】6-6 【程序 6-6 描述】克隆后的圆圈出现在鼠标指针的位置,等到该 场景中所有隐患被找到后,这个克隆体消失。 【圆圈】6-7 【程序 6-7 描述】接收到开始排查广播,换成“隐患 1”场景 后,清空隐患状态列表中的内容。换成“隐患 2”场景后,同样 要清空隐患状态列表中的内容。 【鼠标】6-8【程序 6-8 描述】将切换场景后把数据添加进列表的脚本定义为 一组新积木;将侦测是否碰到颜色并在正确查找隐患后替换列表 数据的脚本定义为一组新积木。(共46张PPT)消防小达人隐患排查排查过程梳理思考与拓展查找火灾隐患简化程序脚本总结与巩固排查过程梳理1排查过程梳理查找背景图片中的消防隐患需要两个角色:查找消防隐患的基本方法:● 鼠标控制“鼠标”角色移动,按下鼠标时如果碰到隐患处的颜色,说明该处隐患成功被找到。排查过程梳理用流程图梳理排查隐患的过程点击处是否为隐患鼠标点击显示圆圈正确提示音是进入游戏显示场景是否全部找到否没有变化否结束是查找火灾隐患2场景一排查场景1①问题1:表示成功找到位置①处火灾隐患的条件是什么?问题2:“圆圈”角色如何知道何时出现?问题3:如何让“圆圈”角色出现在鼠标点击的位置?鼠标点击位置①:同时切换到场景一现在还在游戏规则界面Step 6-2:换成第一个存在火灾隐患的背景隐患处的颜色Step 6-3:点击鼠标,查找隐患查找隐患按下鼠标时碰到这三种颜色说明查找正确圆圈出现圆圈如何出现在被找到的隐患位置多个圆圈我应该出现了鼠标点击的位置不止一个Step 6-4:圆圈出现在鼠标点击位置圆圈出现避免重复查找为什么一处隐患可以查找多次?如何确定全部隐患被找到?记录隐患1.2.3.场景:隐患11. NO2. NO3. NO修改状态1.第1处隐患被找到3.第3处隐患被找到● 对应的内容换成“YES”后,再点击这处隐患就不会有反应了。● 存储的内容没有“NO”时,表示该场景的隐患全部被找到。列表存储● Scratch中可以存储多个数据的内容是列表。● 向列表中添加数据:● 修改列表某一项数据:列表存储① 场景“隐患1”中的隐患个数为3列表存储② 隐患在“NO”状态下才能被查找,找到后状态换为“YES”列表存储● 列表中没有“NO”时隐患全部被找到列表存储Step 6-5:添加列表,存储隐患是否被找到的状态试一试完成第二个场景中查找隐患的脚本编写吧~提示场景二隐患查找场景二隐患查找运行作品,可以成功查找场景“隐患2”中的隐患吗问题1:切换到“隐患2”后,点击鼠标没有反应。问题2:切换到“隐患2”时,“圆圈”角色没有消失。出现的问题问题1:点击鼠标没有反应原因:直接在下方添加问题2:“圆圈”角色没有消失原因:没有添加让克隆体消失的脚本方法:该场景中的全部隐患被找到后“圆圈”消失Step 6-6:圆圈消失清空列表● 清空列表数据:Step 6-7:清空列表简化程序脚本3简化脚本程序太长了,可以用自制积木简化吗自制积木当出现执行多次的除参数外其它都相同的积木时,可以用自制积木简化。调用执行寻找重复脚本找一下这组脚本中执行多次的积木组。除参数外都相同哪些参数会被修改?确定可修改参数布尔值输入项数字输入项数字输入项相同制作新积木注意:积木名称和输入项名称必须有确定的含义继续简化还可以继续简化吗?继续简化脚本,实现已经添加到背景中的所有场景的隐患查找隐患提示查找全部隐患第六步总结实现功能:使用鼠标点击查找场景中存在的隐患,记录查找所有场景隐患所需的时间。主要脚本:自制积木列表火灾演习结束第七步:记录游戏时间,根据时间判断等级思考与拓展4● 尝试编程完成根据时间判断玩家等级的功能。● 思考,怎么让游戏时间停下来呢?课后拓展总结与巩固5课程总结在作品中有这样一个列表,请说一下执行下面这两个积木时,这个列表分别发生的变化①②①② 展开更多...... 收起↑ 资源列表 第4.docx 第4节-隐患排查.pptx