B7:E教中国•STEAM课程 上一版 下一版

《江苏科技报·教育周刊》(双周刊,国内统一刊号CN32-0019),是江苏省唯一以社会立场透析当代中国教育的报纸。秉承“科技推动教育,教育改变人生”的理念,《江苏科技报·教育周刊》一直注意保持与教育前沿工作的密切联系,定位于教育宏观研究,兼顾微观探讨,注重教育文化生态的构建与引导,时刻关注鲜活的教育实态,着眼于教育文化的深层构建,努力赋予教育以深厚的文化内涵,致力打造中国最好的教育媒体。

国内统一刊号:CN32—0019
编辑部地址:江苏省南京市鼓楼区中山路55号新华大厦48楼

第400期 总第5956期 2020年12月14日 星期一
返回首页
作者 内容  上一期  当前第400期  下一期
揭秘随机图案抽奖小游戏
来源:本站原创 作者:主讲人:吴筝 发布日期:2020-12-14 09:57:37

吴筝   上海市曹杨第二中学信息科技教师,高级职称,教育硕士。曾获上海市教师教学评优一等奖,多次获得中国儿童青少年威盛中国芯计算机表演赛全国总决赛最佳指导教师、最佳组织奖等荣誉称号,多次指导学生在全国及上海市各类信息技术竞赛中获得一等奖。

教学背景 


本案例以小程机器人为硬件载体,以mBlock5为软件支撑,教师通过软件和硬件的结合可以尝试许多新奇的玩法,帮助学生对问题的理解和解决有更为直接和感性的认识,引导学生在玩中学编程,掌握编程的基础知识和技能,锻炼逻辑思维能力和计算思维能力,提高学生适应信息社会生存与发展的能力。


教学目标
 

知识与技能 识别图案中各点的坐标;使用“与”运算和“或”运算实现多重条件判断;使用消息的广播与接收解决具体问题。
 

过程与方法 通过比较指令代码和查看设备的输出结果,推导图案中各点坐标的变化规律,培养学生观察、探究、归纳等能力;通过统计分析变量随机值排列情况的概率,推测商家为了获利可能采用的算法。


情感态度与价值观 体验人机交互的过程,提升学习兴趣与创新思维;了解赌博游戏的危害,养成应用所学知识解决现实问题的意识。


教学重点与难点
 

教学重点 使用“与”运算和“或”运算实现多重条件判断;使用消息的广播与接收解决具体问题。


教学难点 分析具体情况,设计合适的算法。


教学过程
 

一、情境导入与问题分析
 

教师让小程机器人随机显示图案,邀请学生一起参与随机图案抽奖小游戏,在体验过程中一起分析显示图案的个数、显示的位置、图案排列组合的可能情况、各类奖项的判定条件等。

二、在相应位置显示随机图案的算法设计


1.显示图案
 

因为游戏中3个位置的图案是依次显示的,所以用“点亮x∶○y∶○”和“熄灭x∶○y∶○”两个指令更为合适。
小程机器人现显示3个图案,图案各点的坐标如图2所示,具体代码见坐标代码表。教师可以组织学生观察各点坐标并阅读代码,通过具体的实例展开学习。

通过比较代码和查看设备的输出结果可知,虽然显示位置不同,但只要图案相同,点亮或熄灭相应各点坐标的代码就是有一定规律的。教师可以组织学生进行讨论,尝试对冗长代码进行优化。比如,可以新建一个变量weizhi,用来参与x坐标的计算,其中,“weizhi=0”表示在屏幕左边显示,“weizhi=1”表示在屏幕中间显示,“weizhi=2”表示在屏幕右边显示,代码如图3所示。

2.依次显示随机图案
 

图案的随机显示依赖于随机数的取值,因此需要使用“在○和○之间取随机数”指令,随机生成1~3的随机数,以对应3个不同的图案。因为要在屏幕左、中、右依次显示随机图案,所以可以新建3个变量x1、x2、x3,分别为不同位置保存生成的随机数。要建立随机数与显示图案之间的关联,可以直接在“如果……那么……否则……”里添加点亮或熄灭的代码,也可以使用“广播消息”与“当接收到消息”两条指令。相对而言,这两条指令配合使用可以让程序模块功能更为明晰,代码更为简洁。


首先将生成的1~3的随机数保存在变量x1中,因为x1表示屏幕左边的图案,因此将变量weizhi的值设为0;然后对变量x1中存放的随机数值进行判断,根据判断结果,广播相应的消息;再根据接收到的消息执行相应代码。例如,x1=2时,需要“广播t2”,而“当接收到t2”时,则执行相应点亮或熄灭的代码,如图4,最终在屏幕左边显示相应图案。

三、判断不同奖惩规则的算法设计


我们设定随机图案抽奖游戏的规则为:3个图案相同为一等奖,2个图案相同为二等奖,图案都不相同为未中奖。奖项的判断需要使用“与”运算和“或”运算对保存在变量x1、x2、x3中的数值进行比较。根据前面的分析,我们可知,若x1、x2、x3中任意两个变量的数值相等,则这两个位置的图案相同,学生可依据这个规律编写判断不同奖项的算法。
 

当然,要区分奖惩规则的算法并不唯一,教师可适当引导并鼓励学生交流并实践自己的想法,在学生分享算法的基础上,帮助其尽可能做一些优化。部分代码如图5。

为了增加游戏的趣味性,通常需要设定一些奖惩规则。比如,初始提供10个金币,一等奖奖励5个金币,二等奖奖励2个金币,未中奖扣除5个金币等。教师可以请学生回顾之前玩过的游戏,小组商议出一个方案,尝试编程实现并记录游戏结果。
 

四、讨论商家获利的算法
 

在统计各个小组游戏输赢结果的基础上,教师可以组织学生对影响输赢结果的原因展开分析。借助程序,模拟显示五轮10000组随机数,帮助学生了解3个图案排列组合的概率统计情况,最终模拟结果如图6。由此可知,出现2个图案相同的概率最高,3个图案相同的概率小于3个图案都不同的概率。


在此基础上,讨论商家为了获利可能采用的算法:比如3个相同图案出现时奖励的金币较多,3个图案都不相同时奖励的金币较少,2个图案相同时扣除少量金币;又或者当某个特定图案出现时奖励金币,某个图案出现时扣除金币等等。

五、思维拓展
 

作品展示交流后,给学生一些时间梳理设计思路、完善提升作品。教师可以请学生再从玩家的角度思考怎样优化算法设计,引导学生对作品进行进一步完善和创新。


教学反思
 

现实生活中有一类赌博游戏,披着游戏的外衣,实则危害极大。之所以十赌九输,一方面是因为人的贪婪之心,另一方面也是因为设计之人进行过专门的研究,根据概率统计有针对性地设计了相应的算法。通过这个案例的学习,学生可以进一步体会算法在生活中的应用,了解赌博游戏的危害,养成应用所学知识解决现实问题的意识,培养辩证看问题的思维,提升观察探究、归纳分析的能力。

发表评论
评论标题:
评论内容:
(500字符)
验证码: 看不清楚,请点击我
    
本网站所有内容属《江苏科技报·教育周刊》所有,未经许可不得转载
编辑部地址:江苏省南京市鼓楼区中山路55号新华大厦48楼
ICP备案编号:ICP备案编号:苏ICP备05076602号