第10课 找出口算速算王——控制结构的综合应用
教学设计
一、学习内容
综合运用顺序、分支和循环三种基本控制结构,完成 “找出口算王” 的程序任务。
理解如何在多个数据中找出最大数的算法,并能通过编程验证算法。
二、学习基础
学生已经学习了顺序、分支和循环三种基本控制结构的功能和作用,并在前三课的项目任务中分别运用这些结构解决了部分问题,如在第 1 课中生成两个加数,第 2 课中实现对错判断,第 3 课中实现连续回答 20 题并计算得分的功能。
学生具备一定的逻辑思维能力,但对于复杂算法的理解和应用可能还存在困难,需要进一步引导和实践。
三、问题梳理
1.素养问题
在解决实际问题时,如何判断应该使用哪种控制结构?
生活中还有哪些事情可以用控制结构的组合来描述?
2.项目问题
如何编写一个循环结构的程序来逐个读取选手的得分,并与当前最大值进行比较?
在比较过程中,如果找到新的最大值,如何更新存储最大值的变量?
四、学习目标与重难点
1.学习目标
项目目标
学生能够完成 “找出口算王” 的程序编写,使其具备找出最大数的功能,并能正确运行和展示结果。
素养目标
学生能够理解找最大数等算法原理,并用自然语言或流程图准确描述和通过编程实现验证,还能在生活中敏锐感知信息科技的应用,比如列举出三种基本控制结构的应用场景。同时,鼓励学生在编程实践中勇于尝试不同方法和思路,探索应用,培养创新能力,并且引导学生在整个学习过程中,正确使用编程工具和资源,遵循相关规则和道德规范,树立良好的价值观。
2.学习重点和难点
(1)学习重点
掌握在多个数据中找出最大数的算法,并能运用三种基本控制结构编写程序实现该功能。
(2)学习难点
理解如何将找最大数的算法与三种基本控制结构有机结合,编写高效、正确的程序。
五、学习策略(学习规划、实验规划)
采用项目式学习方法,以 “找出口算王” 为项目主题,引导学生在完成项目的过程中学习和应用知识。
学习过程分为项目回顾、算法分析、算法描述、算法验证和总结评价五个主要环节。在每个环节中,通过教师讲解、微课学习、小组讨论、实践操作等方式,让学生逐步深入理解和掌握学习内容。
六、环境与资源
学习环境:具备网络连接的计算机教室,安装有编程软件和相关学习平台。
学习资源:教师制作的学习课件、讲解微课、编程微课视频,以及相关的参考资料和案例。
七、学习评价
过程性评价:在项目回顾、原理分析、动手实践、结果展示和生活应用等环节中,通过观察学生的课堂表现、参与度、小组协作能力等,及时给予反馈和评价。
作品评价:对学生提交的 “找出口算王” 程序作品进行评价,主要从功能实现、算法正确性、程序结构合理性等方面进行考量。
八、学习过程
学习环节 学习内容 学习资源与支持 学习目标
项目回顾 1.回顾整个单元项目规划及任务,跟随老师的讲解简单复习顺序、分支和循环三种基本控制结构的在程序中的作用。 2.提出本节课学习任务——找最高分,并分析完成本课的学习步骤。 1.教师带领学生共同回顾单元项目规划,复习三种基本结构的特征和作用。 2.教师引导、帮助学生分析梳理本课学习的任务和步骤。 回顾项目前期学习过程,包括项目规划、三种控制结构的作用。
算法探究 1.思考生活中如何在多个数(10个以上)中找最大数? 小实验:课前每组学生领一张数字卡片,全体学生共同完成查找最大数,理解查找最大数的算法过程; 2.在学习助手中,完成自然语言描述查找最大数算法的排序练习。 (1)取出第1个数并记在心里; (2)从第2个数开始,逐个与心里的数进行比较; (3)如果下一个数比之前心里的数大,则将这个大的数重新记在心里,否则继续比较下下个数。 (4)重复第(2)(3)两步,直到比较结束; (5)比较结束后,心里最终记住的数就是最大的数。 1.教师引导学生完成找最大数的实验过程; 2.提供找最大数动画演示学习资源,帮助理解算法; 3.引导学生用自然语言描述算法过程,并完成学习助手“算法描述”练习。 1.理解找最大数的原理。 2.能够运用自然语言描述算法,理清思路。
算法转换 根据找最大数的自然语言描述还不能直接开始编程,我们要结合编程工具的特点,将算法的自然语言描述转换成程序执行过程描述: 1.知识准备:“得分表”(链表) 得分表中的数据都是用“第几项”来获取,指令积木是: 2.算法的自然语言描述转换为程序执行过程描述: 【第1步】将“变量n”的值设置为2; 【第2步】将“变量max”的值设置为“得分表的第1项” 【第3步】将“变量max”与“得分表的第n项”进行比较 【第4步】(如果max值小于第n项的值)将“变量max”的值设置为“得分表的第n项”(分支结构) 【第5步】将“变量n”的值增加1 【第6步】重复第3-5步(循环结构,循环19次) 【第7步】说出“变量max”的值 3.流程图描述程序执行过程,理解顺序结构、分支结构和循环结构的综合运用。 1.提供描述转化微课,帮助学生理解; 2.流程图交互练习题。 自然语言描述的算法只是一种思路,根据自然语言描述写程序,对学生编程基础要求较高,为让学生能够容易的完成编程任务,需要引导学生结合编程工具,将自然语言描述转换成程序执行过程的描述。
算法转换 程序编写: 根据查找最大数的算法描述和过程分析,尝试组合指令模块,验证查找最大数的算法。 【第1步】将“变量n”的值设置为2; 【第2步】将“变量max”的值设置为“得分表的第1项” 【第3步】将“变量max”与“得分表的第n项”进行比较 【第4步】(如果max值小于第n项的值)将“变量max”的值设置为“得分表的第n项”(分支结构) 【第5步】将“变量n”的值增加1 【第6步】重复第3-5步(循环结构,循环19次) 【第7步】说出“变量max”的值 1.提供程序编写微课; 2.教师巡视指导学生完成编程验证。 按照程序执行过程的描述,能够将打乱的指令块正确组合,并能读懂程序运行过程,验证算法结果。
实验结论 汇报验证结果。 在找最大数的算法中,我们运用了顺序结构、分支结构和循环结构的组合完成了算法的程序设计,得分表中最大数是:___,程序运行结果为:___。程序______(能够/不能够)找出最大数,算法验证____(成功/不成功)。 1.学生根据实验结果填写报告单; 2.教师指导学生开展实验结果汇报 通过编程验证算法,得出结论。
素养提升 1.生活场景中,关于三种基本控制结构的判断。 2.控制我们完成事务的步骤,他可以让我们的思路变得更加清晰,有条理。 最后用一首打油诗结束本单元的学习: 顺序结构一条线,任务依次往下办, 分支结构做判断,不同情况不同办。 循环结构反复转,重复操作很方便。 三种结构配合好,完成任务少不了。 1.完成交互练习:三种控制结构的生活应用场景。 2.教师组织全体学生共同核对结果。 1.通过回顾完整的程序回顾三种控制结构的作用,总结本单元项目目标; 2.通过三种控制结构在生活中的应用场景,理解提升素养目标。
九、学习反思
本课学习的核心思想是运用三种基本控制结构找最大数,并通过编程工具实现。学习过程中,学生基本都能够用语言描述找最大数的算法过程,但是从自然语言描述到编程实现,对学生要求较高,需要结合编程工具数据存储方式,帮助学生将找最大数的自然语言描述转换成程序执行过程描述,理解找最大数的算法过程,内化控制结构的综合应用,这也是本课学习过程中的一个至关重要的难点。
十、附件
1.实验记录单
《第10课找出口算速算王》学习记录单
实验名称 查找最大数
实验分工 主要操作员 主要记录员
实验目的 通过编程方式探究找寻一组数中最大数的算法。
实验原理 依次比较每个数,将当前数与下一个数进行比较,如果当前数比下一个数小,则更新当前数,否则直接比较下一个数,直到比较结束。
实验准备 计算机教室、编程环境、基础编程知识。
实验步骤 步骤 过程描述 是否完成(√)
1 将变量n的值设为______;
2 将存放最大数的变量max的值设为得分表的第_____个得分;
3 将变量max与得分表的第n个得分进行比较;
4 如果变量max的值_____得分表的第n项,则将变量max的值设为得分表的第n个项;
5 将变量n的值增加_____;
6 重复第______步,直到所有数比较完毕;
7 说出最大数max的数值。
实验结论 你在得分表中看到的最大数是:______; 程序运行结束输出的最大数是:______; 程序中运用了______结构,______结构,______结构; 程序_________(能够/不能够)找出最大数,算法验证_________(成功/不成功)。
实验评价 分工明确、互帮互助、合作学习 ☆☆☆☆☆
能理解找最大数的步骤过程 ☆☆☆☆☆
知道三种控制结构的特征 ☆☆☆☆☆
能够辨别三种基本控制结构 ☆☆☆☆☆
2.参考程序清单(scratch/mind+)
3. 学习资源素养提升环节问卷。
生活场景中,关于三种基本控制结构的判断
(1)第_____小组 [填空题]
(2)你买了一套新的航空母舰积木,对照图纸搭建航空母舰,这个过程主要是 [单选题]
○顺序控制结构
○分支控制结构
○循环控制结构
(3)跳绳计数,这个过程主要是 [单选题]
○顺序控制结构
○分支控制结构
○循环控制结构
(4)看红绿灯过马路,这个过程主要是 [单选题]
○顺序控制结构
○分支控制结构
○循环控制结构
(5)在生活,我们还发现____________,它运用了________________________控制结构。 [填空题]