资源简介 第六课《猜数字算法验证》教学设计一、学习内容分析本课是浙江教育出版社信息技术小学六年级上册第一单元《算法的实现》的第7课,也是本单元的最后一课。本单元主要是让学生知道在计算机中实现算法的一般步骤:问题分析、抽象建模、设计算法、验证与优化算法,理解算法与计算机程序之间的关系,并且能够利用算法与计算机程序解决简单问题。第6课《猜数字算法设计》与第7课《猜数字算法验证》可以开展微项目学习。本课内容包括验证算法和完善算法两部分。本课主要通过编写Python程序验证“猜数字游戏”的算法设计,了解输入语句及双分支条件语句的使用;通过运行调试,不断修改完善算法,进而优化算法。“完善算法”板块以增加“记录猜测次数”的功能为例。显现了算法和程序完善的过程与结果。“试一试”栏目让学生在增加“记录猜测次数”功能后,再次试玩程序。感受完善前后鲜明的使用对比。“小知识”则介绍了“二分查找法”。帮助学生在更短的时间内高效地找到正确答案,体会运用不同的算法解决问题会得到不同的结果,也为第二单元“算法的效率”的学习打好体验上的基础。为了让猜数字算法变得更有趣,课后练习提出了限定猜数次数的完善要求。二、学情分析本课学习对象为六年级学生,在五年级时已经学习过图形化编程语言,有些学校也以猜数字为例开展过相关教学。通过前几课的了解对python编程环境也有了一定了解,但是基础很是薄弱,普遍对编程兴趣较高,通过前面的学习,已具备一定的基本能力,但是相对于图形化编程,纯代码的算法设计还是有一定的难度。学习目标教学目标 核心素养指向1.通过运行程序验证猜数字算法,掌握分析程序运行过程与结果的方法。 2.根据对算法验证结果的分析,能初步完善算法。 【信息意识】 能够根据需求完善猜数字游戏的算法和功能。 【计算思维】 在问题解决过程中,能根据程序运行的结果判断如何调整优化算法。 【信息社会责任】 通过猜数字游戏的程序验证,认识到算法对解决问题的重要性。四、教学重难点教学重点:验证算法。教学难点:完善算法。五、课前准备学习环境:猜数字游戏的半成品程序。学习资源:待完善的算法流程图。六、学习过程(一)旧知回顾 引入课题学习内容与活动 设计意图旧知回顾 想一想:有什么方法可以验证猜数字游戏的算法是否正确? 揭示课题: 了解使用计算机验证算法的一般过程与方法,揭示课题:猜数字算法验证。 本节课是延伸上节课的算法设计的内容,且在第4课中已经了解到通过编写程序验证算法,通过旧知迁移,直接揭示课题。(二)小组合作 验证算法学习内容与活动 设计意图任务1:小组合作,学习新指令。 小组合作,通过学习小锦囊,填写学习单中的第1和第2项。 提问:什么是整型数据?为什么要转化为整型数据?进一步理解int()语句。 继续学习小知识,猜一猜什么语句可以实现判断猜数字的大小?填写学习单中的第4项。 出示if……else……语句的使用方法。 追问:算法中的两个判断条件的作用是否一样? 提问:什么语句可以实现让用户在没有猜对时反复输入数字? 回顾迁移while语句的用法。 2.运行程序、验证算法 (1)任务2:请运行程序并跟踪、记录运行过程结果,验证算法是否解决问题。 请学生展示介绍自己的运行过程。 请学生梳理、对比分析运行过程中存在的问题,思考解决方案。 调试运行程序。 总结出验证算法的一般方法。 (1)回顾巩固赋值语句,了解input()语句和int()语句的用法。 复习循环的判断条件和正确解的条件,进而引出循环判断的语句。 教师给的程序中,故意将第二个输入语句中的int去掉,让学生通过找错发现int语句的使用的必要性。 通过记录运行过程,将学生的思维过程可视化,同时也帮助学生查找问题。 学生在体验运行调试后,梳理出通过程序验证算法的一般方法。(三)体验游戏、完善算法学习内容与活动 设计意图提出新功能,完善算法流程图 思考:通过运行调试后,你觉得还可以怎么完善该游戏的算法。 提问:若想增加“猜测次数”的功能,如何修改算法流程图? 若学生说不出,教师引导可使用“ci”变量记录猜数的次数。在流程图中修改算法。 2.根据流程图,完善算法程序 (1)任务3:请根据完善后的算法流程图,修改完善程序代码。 (2)如果学生修改程序有困难,教师出示完整程序。 3.玩一玩,对比方法 (1)调整目标数“da”的数字,运行程序,和同伴互玩一下,并填写学习单。 调整目标数为: 同伴猜了几次才成功: 比一比谁猜的次数最少: 引出“二分查找法”思想 请学生使用“二分查找法”的思想再玩一玩,看看最多用几次就能猜对。 让学生提出修改算法的需求,并尝试修改算法流程图和程序,体验经历完善算法的过程。 通过互玩猜数字游戏,对比谁猜的次数少,引出“二分查找法”,再让学生学以致用,体验“二分查找法”的优势,初步感知经典算法的执行效率。(四)课堂总结、拓展练习学习内容与活动 设计意图梳理收获、课堂总结 请学生梳理回顾,说一说本节课的收获。 (2)教师总结提炼本节课学习目标 2.拓展练习、迁移应用 (1)进一步完善算法,修改程序,实现以下功能: 如果用户的猜数次数超过7次,提示“挑战失败”! 学生梳理收获很可能只记得具体的语句,教师再补充,回顾使用计算机验证算法的一般过程。 如果还有时间,可以让学有余力的学生继续挑战,迁移应用。板书设计:猜数字游戏验证编写程序运行调试完善算法(共12张PPT)旧知回顾想一想:有什么方法可以验证猜数字游戏的算法是否正确?使用计算机编程验证猜数字算法验证《信息科技》六年级上册小组合作、验证算法da=55cai=任务1:小组合作,请将下列算法步骤转化为计算机可执行的指令,假如猜的数是55。填写学习单中的1、2项。cai=int(input(“请输入一个1至100之间的数字”))使用input(“”)实现数据的输入,“ ”中间的内容是提示语。再使用int()将其转化为整型数据。思考:什么是整型数据?为什么要转化为整型数据?小组合作、验证算法继续学习小知识,猜一猜什么语句可以实现判断猜数字的大小?if……else……if caiprint(“小了”)else:print(“大了”)思考:这两个判断条件的作用是否一样?满足正确解的条件判断循环的条件判断填写学习单中的第4项双分支结构小组合作、验证算法什么语句可以实现让用户在没有猜对时反复输入数字?while语句。while cai !=da:while cai !=da:if caiprint(“小了”)else:print(“大了”)填写学习单中的第3项循环结构小组合作、验证算法任务2:运行猜数字游戏程序并跟踪、记录运行过程结果,填写学习单。验证算法的一般方法:(1)通过编写程序,让算法转化为计算机可以执行的精准命令。(2)运行程序并跟踪、记录运行过程结果,验证算法是否解决问题。体验游戏、完善算法通过运行调试及游戏体验后,你觉得还可以怎么完善该游戏的算法。增加“猜测次数”增加“猜测时间”若想增加“猜测次数”的功能,如何修改算法流程图?ci=ci+1ci=0输出ci体验游戏、完善算法任务3:请根据完善后的算法流程图,修改完善程序代码。体验游戏、完善算法试一试、玩一玩:调整目标数“da”的数字,运行程序,和同伴互玩一下,并填写学习单。(1)调整目标数为:(2)同伴猜了几次才成功:(3)比一比谁猜的次数最少:二分查找法使用“二分查找法”再来玩一玩!课堂总结1.使用计算机验证算法的一般过程。2.根据运行调试结果,不断完善算法。(1)通过编写程序,将算法转化为计算机可以执行的指令;(2)通过运行程序,跟踪记录运行过程结果,验证算法是否解决问题。拓展练习进一步完善算法,修改程序,实现以下功能:如果用户的猜数次数超过7次,提示“挑战失败”!下课啦!请同学们关闭电脑,椅子归位,排队有秩序离开微机室。 展开更多...... 收起↑ 资源列表 1.第7课猜数字算法验证-教学设计.docx 2.猜数字算法验证.pptx