用可视化编程建模解决问题的实践

2021-07-11 11:18章文
中国信息技术教育 2021年12期
关键词:控件感染者克隆

章文

教材分析

本课是江苏凤凰科学技术出版社出版的小学《信息技术》五年级《克隆飞机大战》一课的外延内容。本课主要学习任务是用“克隆”控件结合“移动”控件模拟人群活动的分布,利用“侦测”结合条件语句实现健康者碰到感染者即被感染的效果。涉及的知识点有:克隆、重复执行、变量的计算和应用、颜色侦测、条件判断。2019年12月,湖北省武汉市陆续出现多例新型冠状病毒感染的肺炎患者,疫情逐渐地蔓延、扩散。开学后针对此次疫情,笔者设计了相关外延内容。本课的设计意图重在让学生意识到计算机还可以通过建立模型,进行数据模拟,从而借助分析结果做决策。

学情分析

本课教学对象为小学五年级学生,经过可视化编程软件基础部分内容的学习,他们已经掌握克隆、侦测、变量、重复语句、条件判断语句的使用规则。本节课,笔者根据学生的认知基础,引导学生在创设的生活情境中分析实际问题,在完成任务的过程中掌握知识点,能熟练地将各模块的指令结合应用。通过学生自主探究,建立模拟“人群活动范围对疫情传播的影响”的数据模型,提高学生的知识迁移能力、独立分析问题的能力和动手实践能力。

教学目标

知识与技能目标:运用“克隆”控件、“移动”和随机函数,掌握实现人群随机活动的方法;运用侦测和判断控件,掌握实现健康者碰到感染者被感染的方法。

过程与方法目标:通过数据模拟,了解利用可视化编程软件能建立模型。

情感态度与价值观目标:了解可视化编程不一样的用途,产生深入学习的兴趣;通过使用可视化编程软件解决问题,体验计算机数据模拟的作用。

行为与创新目标:学以致用,尝试借助可视化编程模拟问题;尝试借助数据模拟的结果做决策,解决生活中的实际问题。

教学重难点

重点:利用“克隆”控件控制角色变化;巧用侦测实现健康者被感染者感染,结合条件判断变量的逻辑运算。

难点:了解可视化编程能建立模型,尝试借助数据模拟的结果做决策。

教学过程

1.创设情境,激趣导入

师:同学们,一场新型冠状病毒的侵袭让我们这个寒假被迫延长,居家隔离。在新冠疫情爆发期间,为什么不能出门?网上有一个视频解释了原因,让我们来看一看。(播放视频《为什么现在不能出门》,揭示本节课任务:借助可视化编程软件帮助人们理解这个问题做决策)

我们以往使用可视化编程软件来做动画和游戏,今天将借助它来模拟人们活动范围的大小对疫情传播速度的影响(设置黑色圆点的健康者,通过“克隆”复制出一定数量的健康人群,健康人群随机出现于舞台上,朝任意方向按指定的活动范围——步数进行移动。当人群中出现红色圆点代表的感染者时,如果健康人群碰到感染者会被感染变成红色。通过改变变量“活动范围”的数值,可以观察其对疫情传播速度的影响)。

设计意图:建模是研究系统的重要手段和前提。在此主要用于预测人群活动范围的大小对疫情传播速度的影响。通过创设学生身边的情境,揭示在实际生活中人们时常会使用计算机建模,进行数据模拟,分析问题求解。通过演示可视化编程软件制作的模型效果和提出本节课研究的问题是什么,让学生明确接下来要借助什么工具解决什么问题。

2.分析问题,建立模型

(1)角色的分析

师:在模拟问题研究前,首先要明确这个问题中涉及哪几个角色?

生:健康者、感染者。

师:健康者碰到感染者会怎样呢?

生:会被感染。

师:所以,健康者有两个造型,分别是健康状态和感染状态。(教师展示半成品,学生打开“学生使用”文件,如图1所示)

任务一:克隆健康者。

师:我们可以看到舞台上只有一个健康者,怎样可以出现一群健康者呢?

生:克隆健康者。

师:克隆多少个呢?

生1:克隆50个。

生2:克隆200个。

生3:克隆500个。

师:克隆的健康者要能全部呈现在舞台上,還要便于观察疫情的传播效果,所以为了模拟的效果更好,我们可以先试试200个健康者,如果参数不合适后面再调整。健康者本体的初始状态是什么?一开始要出现在舞台上吗?克隆出的健康者在舞台上的初始状态又是什么?

生:健康者本体隐藏,克隆体出现。

师:是什么控制指令控制克隆体出现?

生:当作为克隆体启动时。

学生操作完成任务一。

设计意图:建模过程的主要活动包括确定数据及其相关过程,定义数据,定义操作过程,选择数据存储技术。“角色的分析”这一部分通过描述和分析本节课的问题,将抽象的现实问题转换为计算机能理解的数据。引导学生分析情境,理清角色关系,培养学生分析问题的能力。

(2)问题的分解

师:与问题相关的角色以及角色的状态都考虑好了,那请你们再想一想模拟这个问题分为哪几步?

生:健康人群活动,感染者出现,感染健康者……

教师总结:健康人群随机活动、感染者出现并传染健康者。

设计意图:这一部分将本节课的问题分解成两个小问题,分解时配上不同小问题的视频效果,更利于学生理解。理清任务顺序,培养学生将大问题分解成小问题解决的能力。

(3)用程序解决

任务二:健康人群随机活动。

分析问题:

师:健康人群一开始出现在舞台上的什么位置?

生:在随机的位置,X范围在-240~240之间,Y范围在-180~180之间。

师:健康者的活动方向是怎样的?

生:面向随机方向。

师:假设我们现在是居家隔离中,活动时移动的步数设置多少合适呢?

生:移动范围较小,可以设置1步。

师:在这个任务的脚本中,什么指令是重复执行的?

生:面向随机方向移动。

学生操作完成任务二,如下页图2所示。

教师巡视,解决问题,并且提示做完的学生思考右上角的视频效果是怎么实现的。

设计意图:教师引导学生分析,注重引导学生思考的方向和全面性。此外,右上角提供下一个任务的视频,注重上课环节中的“多元学”,为每个学生的学习与发展提供平等的机会,关注学生的个体差异,使每个学生的学习潜能都得到发展。

任务三:感染者出现并传染健康者。

师:此时出现了一个感染者,他是如何出现在舞台上的?又是如何活动的?

生:随机出现并且随机活动,跟健康者是一样的。

师:一样的指令如何快速搭建?注意感染者的出现是另一个事件,触发该事件的控制指令可以是什么?

学生回答并请学生演示。(提示:需要复制的是哪些脚本?控制感染者出现的指令是什么?健康者本体和克隆体的两个脚本是不是都要复制?)

学生操作完成任务。

设计意图:利用复制可以快速编写脚本,在解决复杂问题时节省编程时间。计算机语言有其特定的规则和思维方式,复制是其便利性之一。但是算法的每一步操作,顺序和内容都必须确切定义,而不得有任何歧义。在复制脚本时,教师需要引导学生明确需要复制的脚本是什么,控制其执行的指令是什么,培养学生解决问题时严谨、规整的逻辑思维。

师:现在感染者已经出现了,如何实现健康者碰到感染者变成感染状态呢?

生:判断语句、颜色侦测和切换造型。

师:是的,这也是用纯色表示两个角色的原因,便于使用颜色侦测控件。

学生操作完成任务,如图3所示。

教师巡视,解决问题。(预设问题:在使用颜色侦测控件时,“黑色碰到红色”和“碰到红色”哪个更好?如果使用“碰到角色感染者”侦测,可不可以呢?)

展示学生作品,邀请学生一边演示,一边描述自己编写的脚本含义。

设计意图:引入“侦测+判断”模拟健康者被感染的效果,利用侦测、判断语句和切换造型完成任务。用语言表达逻辑思路,再将逻辑转换为脚本。算法的确定性表明,算法的每一步操作,顺序和内容都必须确切定义,而不得有任何歧义。在侦测中,不能使用“碰到红色”,因为必须是黑色碰到红色,“健康者”才会切换到“感染状态”;同样也不能使用“碰到角色感染者”,因为“健康者”的“感染状态”同样具有感染性。

(4)程序的完善

任务四:增加变量“活动范围”。

师:当我们的活动范围变大时,如何在程序中体现呢?

生:调整移动步数的参数。

师:从观看者的使用角度考虑,怎么知道活动范围是多少呢?(展示视频)这样是不是更清晰?如何做出这个效果呢?

生:让活动范围的数值显示在舞台上,建立变量。

师:活动范围是一个变量,如何赋值呢?如何应用变量呢?

生:将变量的初始值设定为一个数值,直接将变量作为参数使用。

师小结:变量的设置有助于增加模拟过程中的便利性。请同学们设置成功后,修改参数,验证程序的合理性。

学生操作完成任务四。

设计意图:进一步完善程序,从用户视角考虑问题,在需要时提出变量,让学生理解变量的运用。同时,让学生知道程序需要被验证,在验证中不断完善。例如,这里增加变量“活动范围”,一来活动范围的大小直接显示在舞台上,便于使用者了解是什么活动范围影响下的疫情传播效果;二来每次试验时,只需要修改活动范围的参数即可。

3.拓展提升,继续完善

师:模拟问题是为了帮助我们确定答案做决策,它需要尽可能精准,这样显示结果和事实才能最大程度接近。现在程序已经完成了,如果要让使用者能更清晰地比较相同时间内不同活动范围对疫情传播的影响,我们还能如何完善呢?

生1:增加变量“健康人数”。

生2:增加变量“感染人数”。

生3:增加计时功能。

生4:增加醫疗人员。

学生畅所欲言,根据自己的想法继续完善作品。

教师展示学生作品,如图4所示。

设计意图:使用模型模拟问题,具备简单快捷、经济有效、便于操作和试验的优点,通过修改模型中的数据,可以对“不同活动范围对疫情传播的影响”做出客观分析,便于人们根据数据模拟的分析结果做出决策。同时,让学生意识到解决问题的途径不止一种,程序总是在不断修改中完善的。

4.课堂总结,衔接生活

师:生活中遇到问题时,可以借助计算机模拟和预测,如人们应用蒙特·卡罗方法求解圆周率。请同学们仔细观察N和π值的变化,可以发现一开始数据较少时,模拟的结果并不准确,但是当模拟的数据越来越多时,推测出的范围越来越接近圆周率的标准值。今天我们将活动范围转换为计算机能理解的数据,初步了解到借助计算机数据模拟的分析结果能帮助人们做决策,其实这种方法已经应用到人工智能等更多的领域。

设计意图:可视化编程的应用领域不只是游戏和动画,通过将客观事物转换为计算机能理解的数据,借助其建模可以进行数据模拟,从而根据数据分析的结果做出决策。

教学反思

在本课的教学过程中,笔者设计了四个任务推进数据建模,以解决问题的一般方法贯穿全课,最终让学生能独立分析问题求解。笔者基于学生的原有认知和已具备的能力,设计时下热门话题的相关活动,通过建模研究“人群活动范围对疫情传播的影响”,有利于激发学生对计算机语言学习和应用的兴趣。学生在数据模拟的过程中,自主尝试并且归纳出计算机语言解决问题的一般步骤:角色的分析、问题的分解、用程序解决、程序的完善。在操作中,学生通过数据模拟,了解利用可视化编程建立模型预测的方法,解决生活中的实际问题,认识到计算机语言应用的广泛性,体验其便利性。

猜你喜欢
控件感染者克隆
使用“填表单”微信小程序 统计信息很方便
基于.net的用户定义验证控件的应用分析
属于“我们”
属于“我们”
Cloning Pets克隆宠物
线性克隆系统的数学原理
利用VF6.0的Timer控件实现动画效果
Spreadsheet控件在Delphi数据库系统中的编程与应用