一、学科核心素养
针对简单问题,确定解决问题的需求和数据源,主动获取、筛选、分析数据,解决问题。(信息意识)
能用自然语言、流程图等方式描述算法。知道解决同一问题可能会有多种方法。(计算思维)
通过学习身边的算法,有意识地将其应用于数字化学习过程中。(数字化学习与创新)
认识到算法对解决生活和学习中的问题的重要性。(信息社会责任)
二、教材分析
本课选自江苏凤凰科学技术出版社出版的《初中信息技术8年级》第4章第1节《算法》。本节课的重点内容是算法,主要介绍算法的基本概念及其描述方式。通过本节课的学习,学生能够用自然语言、流程图等方式描述问题的算法,为后面学习程序设计语言提供基础、做好铺垫。
三、学情分析
本次授课对象为八年级学生,该年龄段学生已经具备了一定的分析问题、解决问题的能力,逻辑思维能力也在逐渐增强。但是如何从实际生活中提炼解决问题的算法,如何修改算法去优化解决问题的方案,这方面的认知还是比较欠缺的。
四、学习目标
1.通过对“APP自动结账”问题的算法分析与表达,感悟到生活中处处有算法,算法并不神秘,提高学习的信心与兴趣。
2.了解算法的基本概念与算法的重要性。
2.能够用自然语言、流程图等方式描述“APP自动结账”问题的算法。
3.学会使用“画程”软件绘制流程图。
4.在解决“APP自动结账”这一实际问题的过程中,能够有意识地设计与修改算法,并且不断优化解决问题的方案。
五、教学重难点
教学重点:
1.能够用自然语言与流程图描述算法。
教学难点:
1.将“APP自动结账”这一实际问题抽象成计算机解决问题的算法。
2.通过绘制流程图掌握“顺序结构”“分支结构”,理解“循环结构”。
六、教学设计案例
【教学环境】
计算机网络教室,配备装有画程软件的台式计算机。
【教学过程】
教师活动 | 学生活动 | 设计意图 |
【创设情境,导入新课】 师:(播放视频)刚才视频中介绍的是近年来新兴的一种交通工具——共享单车,它以其便捷、环保的特点,受到了许多市民的欢迎。 师:同学们日常生活中使用过共享单车吗?请说说使用共享单车的步骤。 师:刚才我们所描述的使用“共享单车”的步骤有个专业术语,叫算法。简单地说,算法就是解决问题的方法和步骤。 师:通过刚才的讨论,我们发现共享单车的使用离不开一个“神器”——共享单车APP,我们可以通过这个APP轻松找到附近的可用车辆,实时查看车辆的电量和位置。在我们骑行结束后,APP还会自动结账,让我们的出行更加智能化和便捷化。 师:这些功能背后的算法是怎样的?本节课我们一起探究“APP自动结账”功能背后的算法。
【自主探究,掌握新知】 任务一:绘制流程图,描述如果骑行时间是30的整数倍时“自动结账”的算法。 师:永安行是根据骑行时间计费的。请说说“自动结账”的算法。
师:永安行计费规则:每骑行30分钟收费2元(不满30分钟按30分钟计费)。设骑行时间为 x ,费用为 y ,什么情况对用户而言最划算?
师:假设 x 是30的整数倍,y = ?
师:现在我们可以总结得出如果 x 是30的整数倍,“自动结账”的算法如下:获取x→y = (x/30)* 2→自动扣除 y。 师:但是本节课无法真正骑车去获取骑行时间并扣费。所以“获取x”改为“输入x”,“自动扣除 y”改为“输出y”,以此来体验“APP自动结账”背后的算法。
师:刚才我们是使用自然语言描述算法,用自然语言描述算法容易理解,但有时也会产生歧义。如果描述较为复杂的算法,还会显得烦琐、冗长。 师:比如“计算3加2除以5减1的值”这个问题,同学们觉得结果是什么?为什么会出现不同的结果?
师:请问还有其他描述算法的方式吗? 师:所谓流程图,就是用图形符号来描述解决问题的过程。其优点是直观、简洁、易懂,并且逻辑关系清晰。 师:绘制流程图的方法有很多,今天老师介绍一款软件——“画程”软件,可以帮助我们快速绘制流程图,我们只需要用简单的拖放图形框操作来搭建流程图,流程线会自动生成。 师:接下来,请同学们自学《学案》,对照刚才自然语言描述的算法,尝试使用“画程”软件绘制流程图,描述如果 x 是30的整数倍时“自动结账”的算法。
师:有同学愿意展示自己绘制好的流程图吗?请介绍你是如何绘制的。 师:除了这三个图形框,流程图中还用到了什么?它们的作用分别是什么?
师:这位同学绘制的流程图对吗? 师:这种自上而下按顺序执行的结构我们称之为顺序结构。 师:请同学们根据刚才的讨论完善任务一的流程图。
任务二:修改流程图,优化“计算费用”部分的算法。 师:实际骑行过程中,x 一定是30的整数倍吗? 师:如果 x 不是30的整数倍,y = ?
师:刚才分情况讨论了永安行的计费方法。同学能总结下是根据什么条件来分情况讨论的吗? 师:需要修改哪部分的算法?
师:请尝试用自然语言重新描述“计算费用”部分的算法。
师:生活中还有很多问题也需要分情况讨论,你能举些例子吗? 师:同学们能找出这些例子的共同点吗?
师:这种结构我们称之为分支结构。 师:如果让你来绘制分支结构的流程图,你觉得还需要用什么图形框?
师:接下来,请同桌之间相互合作,对照自然语言描述的算法,尝试修改“计算费用”部分的流程图。 师:有没有已经修改好的同学?请介绍你是如何修改的。 师:老师这里还有一个流程图,请同学们观察并思考这样是否正确?为什么?
师:请同学们根据刚才的讨论完善任务二的流程图。
能力提升:绘制流程图,描述使用骑行卡时“自动结账”的算法。 师:为给用户提供更多优惠,永安行推出了“骑行卡”。在有效次数(10次)内,可以优惠计费,否则正常计费。 师:假设用户使用“骑行卡”,“自动结账”的算法又是怎样的?请用自然语言描述。
师:对照自然语言描述的算法,你觉得流程图可以如何绘制?用我们已学的顺序结构、分支结构可行吗?请以小组为单位讨论,并尝试绘制。
师:请小组派代表展示流程图并介绍。 师:这组同学绘制的流程图对吗?我们一起来分析一下该算法的执行过程。 师:这种先进行条件判断,当条件成立就重复执行A的结构我们称之为循环结构。 师:请同学们根据刚才的讨论完善能力提升的流程图。
【课堂小结,知识拓展】 师:本节课已接近尾声,请问同学们有哪些收获?
师:本节课我们探究的是“APP自动结账”这一功能背后的算法。其实共享单车背后的技术远不止这么简单,在课堂最后我们一起来观看一段视频,了解共享单车背后的技术。 |
学生分享共享单车使用的步骤:扫码→骑车→还车。
学生思考、教师引导总结:获取骑行时间 →计算费用→自动扣除费用。
学生思考回答:当 x 为30的整数倍时。
学生思考回答:y =( x / 30 )* 2。
学生计算结果,分析出现不同结果的原因,体会自然语言描述算法的缺点。
学生思考回答:流程图、计算机语言。
学生自学《学案》,绘制流程图。
学生展示流程图并介绍:使用输入框输入x,处理框计算y =( x / 30 )* 2,输出框输出y。
学生思考回答:起止框、流程线及它们的作用。 学生讨论、分析
学生完善流程图
学生思考回答:y =(x/30)的商的整数部分 * 2 + 2 。
学生思考回答:x 是否是30的整数倍。 学生思考回答:“计算费用”部分。 学生思考回答:如果 x 是30的整数倍,y = (x/30)* 2 ,否则y =(x/30)的商的整数部分 * 2 + 2 。
学生举例,分析这些问题的共同点:需要先进行条件判断,再根据判断结果选择执行A或者B。
学生思考回答:判断框。
学生展示流程图并介绍:使用第一个判断框,判断的条件是x 是30的整数倍,条件成立左侧分支写y =(x/30)* 2,条件不成立右侧分支写y =(x/30)的商的整数部分 * 2 + 2 。
学生思考回答:左侧分支应该放在分支结构内部。 学生完善流程图
学生思考回答:刚开始剩余次数为10次,只要还有剩余次数,就优惠计费,每使用一次剩余次数少一次,否则正常计费。
以小组为单位挑战绘制使用骑行卡时“自动结账”算法的流程图。(如果时间紧张,教师可在学生有思路的情况下带领学生一起绘制流程图)
学生展示流程图并介绍:使用第二个判断框,条件是剩余次数,设剩余次数为n,刚开始n = 10,只要 n > 0,就优惠计费、n - 1,否则正常计费。
学生分析算法的执行过程。
学生思考总结: 1.了解算法的基本概念。 2.能够用自然语言、流程图来描述问题的算法。 3.在解决实际问题的过程中能够有意识地设计与修改算法,并且不断优化解决问题的方案。
学生观看视频 |
借助“共享单车使用”这一生活实例,体验身边的算法,并揭示本课主题:探究“APP自动结账”背后的算法。
能够用自然语言描述算法。
了解算法的其他描述方式:流程图。
能够用流程图描述算法,并学会使用“画程”软件绘制流程图。
了解算法的第一种结构:顺序结构。
了解算法的第二种结构:分支结构。
能够运用分支结构绘制相应的流程图。
分析使用骑行卡时“自动结账”的算法,并尝试绘制相应的流程图。
在解决“APP自动结账”这一实际问题的过程中,能够有意识地设计与修改算法,并且不断优化解决问题的方案。
了解算法的第三种结构:循环结构。
|