资源简介 (共42张PPT)第2课分析摘草莓算法中的控制结构(黔科版)五年级上01教学目标02问题情境03实践与探究04拓展延伸05课堂练习06课堂小结07板书设计01教学目标1、信息意识:学习算法控制结构,更好地理解和分析算法问题,并且能够更有效地编写可靠、高效、算法程序。2、计算思维:在一定的活动情境中,能够对简单的问题进行抽象、分解、建模,制订相应的解决方案。3、数字化学习与创新:通过讨论与探究学习,用算法解决学习生活中问题,发现新颖、高效率的解决方式。4、信息社会责任:了解算法的优势及对知识产权保护的作用,认识到算法对解决生活和学习中的问题的重要性。引入视频02问题情景02问题情景(图1-2-1 机器人摘草莓)干农活非常累人,科学家王博士希望他设计的机器人能在农业领域学会一些工作来帮助人们干活。例如,他设计了采摘草莓的算法,以便日后让机器人完成摘草莓任务(图1-2-1)。我们先一起来探索摘一颗草莓的算法。02问题情景1.认识顺序结构;2.认识分支结构。★什么是顺序结构?★什么是分支结构?★生活中哪些算法是顺序结构?★生活中哪些算法是分支结构?★描述算法的方式有哪些?你将学到活动向导03活动过程—认识顺序结构观察果农摘草莓的动作(图1-2-2),可以总结出摘草莓的步骤,如图1-2-3所示。(图1-2-2 果农摘草莓)发现一颗草莓用一只手夹住草莓另一只手剪断草莓上方的果柄图1-2-3 摘草莓的步骤分解03活动过程—认识顺序结构参考果农摘草莓的步骤,设计机器人摘草莓的算法,用自然语言描述的机器人摘草莓算法如下。机器人摘草莓算法步骤1:发现一颗草莓;步骤2:用一只机械手夹住草莓;步骤3:另一只机械手剪断草莓上方的果柄;步骤4:取下草莓,放入容器中;步骤5:算法结束。03这些步骤有先后顺序,必须按正确的顺序执行才能完成摘草莓工作。这种按先后顺序依次执行的算法控制结构是顺序结构。在生活中,有许多解决问题的步骤要按先后顺序依次完成。例如,医院就诊系统按就诊号依次叫号……你还能举出1~2个类似的例子吗?想想这些解决问题背后的算法是如何设计的。活动过程—认识顺序结构想一想03算法也可以用流程图来描述,即将步骤写在各种图形框中,用箭头表示步骤的顺序。机器人摘草莓算法用流程图描述,如图1-2-4所示。活动过程—认识顺序结构举例:1.超市结账: 顾客需要排队结账,先到先结,后到后结。2.生产流水线: 生产流水线按工序顺序进行生产,每个工序完成后再进行下一个工序。这些算法的设计都遵循了按顺序解决问题的原则,通过使用队列或栈数据结构,可以确保问题得到高效、有序的解决。03活动过程—认识顺序结构发现一个草莓取下草莓,放入容器中开始结束用一只机械手夹住草莓另一只机械手剪断草莓上方的果柄表示算法的开始顺序结构只能按顺序一步一步地执行表示算法的输出表示算法的执行步骤表示算法的结束图1-2-4 机器人摘草莓算法算法的描述方式为了表示算法明确的步骤以及正确的顺序,方便人们理解和交流,算法通常会用自然语言、流程图等方式规范地描述。(1)自然语言运用日常交流的语言清晰、准确地描述解决问题的步骤,被称为用自然语言描述算法。(2)流程图规范的流程图可以清楚地表现算法步骤的顺序,帮助人们对算法流程有统一的认识,便于沟通和讨论。流程图中不同的图形符号代表不同的意义,功能也不相同,见表1-2-1所列。科学园地03活动过程—认识顺序结构表1-2-1 流程图符号科学园地03活动过程—认识顺序结构符号 名称 说明开始、结束符 表示算法的开始和结束输入、输出框 表示算法执行过程中的输入和输出处理框 表示算法执行过程中需要处理的具体步骤判断框 表示算法执行条件判断的情况流程线 表示算法执行过程中的流程控制方向03活动过程—认识顺序结构做一做1、上网寻找一个流程图在线绘制平台,按照如图1-2-4所示,画一画摘草莓算法的流程图。发现一个草莓取下草莓,放入容器中开始结束用一只机械手夹住草莓另一只机械手剪断草莓上方的果柄03活动过程—认识顺序结构做一做2、小明爸爸打算把家中一面油漆破损的墙面重新粉刷一下。这面墙没有门窗,近似长方形,测量后得知其长为4米、高为3米。小明爸爸想购买的乳胶漆规格为每桶2升,每升能刷3平方米的墙。请你按正确顺序将下列步骤组合成“计算油漆桶数”算法流程图。开始结束计算墙面面积(4x3=12)计算油漆桶数(4÷2=2)输出需要油漆2桶计算油漆用量(12-3=4)03活动过程—认识顺序结构做一做开始结束计算墙面面积(4x3=12)计算油漆桶数(4÷2=2)输出需要油漆2桶计算油漆用量(12-3=4)“计算油漆桶数”算法流程图03顺序结构在生活中的应用。1. 食谱制作例子描述: 在烹饪时,通常需要按照食谱中的步骤依次进行,例如:(1)准备食材 (2)切菜 (3)炒菜 (4)装盘。算法设计: 这个过程可以视为一个线性算法,按照顺序执行每一步。若某一步骤未完成,后续步骤无法进行。可以使用简单的控制结构(如条件语句)来检查每个步骤是否完成,以确保顺序的正确性。活动过程—认识顺序结构知识拓展03顺序结构在生活中的应用。2.任务管理系统例子描述: 在项目管理中,任务通常需要按优先级和时间顺序完成,例如:任务A:调研 任务B:设计 任务C:开发 任务D:测试。算法设计: 这种情况常常使用排序算法,如优先队列,来确保任务按照设定的优先级顺序执行。任务的状态(待完成、进行中、已完成)也可以通过状态管理系统来跟踪,从而确保每个任务在其依赖的任务完成后才能开始。活动过程—认识顺序结构知识拓展04活动过程—认识分支结构王博士发现执行“机器人摘草莓算法”可能会让机器人误摘没有成熟的草莓(图1-2-5),于是,他改进算法,只采摘红色的草莓。图1-2-5 成熟和没有成熟的草莓04活动过程—认识分支结构由于需要根据草莓颜色的差异,做出不同的动作,因此摘草莓的流程不固定,顺序结构的算法不再适用。只采摘红色草莓的算法需要先判断这个草莓是不是红色,然后决定是否采摘。这可用算法中的分支结构来实现,具体算法如下。机器人摘成熟草莓算法步骤1:发现一颗草莓;步骤 2:如果草莓是红色的,那么执行步骤3,否则执行步骤6;步骤3:用一只机械手夹住草莓;步骤4:另一只机械手剪断草莓上方的果柄;步骤5:取下草莓,放入容器中;步骤 6:算法结束。04活动过程—认识分支结构在自然语言中,可以用“如果……那么……否则…”的句式来描述分支结构,其含义如图 1-2-6 所示。在流程图中,判断框中的内容表示分支结构中的判断条件,如图1-2-7所示。小贴士图 1-2-6 用自然语言描述分支结构04活动过程—认识分支结构发现一个草莓开始判断条件,只有“是”和“否”两种结果。图 1-2-7 机器人摘成熟草莓算法流程图草莓是红色的吗?结束另一只机械手剪断草莓上方的果柄用一只机械手夹住草莓取下草莓,放入容器中是否04活动过程—认识分支结构流程图中的判断框有1个入口、2个出口。其中,2个出口对应判断条件的2个结果执行的不同步骤。小贴士在生活中解决一些问题时,需要先进行判断。例如,某游乐园入口闸机系统要先判断游客年龄是否满6周岁。如果年龄不满6周岁,那么可以免票,否则要门票。你还能举出1~2个类似的例子吗 想一想04活动过程—认识分支结构1.自动售货机: 自动售货机需要先判断顾客投入的金额是否足够购买商品,如果金额足够,则售出商品,否则退回金额。2.银行取款机: 银行取款机需要先判断用户输入的密码是否正确,如果密码正确,则允许取款,否则拒绝取款。3.交通违章处罚系统: 交通违章处罚系统需要先判断车辆是否违反交通规则,如果违反,则进行处罚,否则不进行处罚。4.医疗诊断系统: 医疗诊断系统需要先判断患者的症状,然后根据症状进行诊断,并给出治疗方案。04活动过程—认识分支结构科学园地分 支 结 构顺序结构的算法按照步骤出现的先后顺序执行,分支结构的算法则基于判断条件来决定执行的步骤。判断条件的结果只有两个,“是”(也可用TRUE表示)和“否”(也可用FALSE表示)。例1和例2都是分支结构。例1:某智能停车场管理系统如果监测到停车超过免费时长,那么收取停车费。流程图如图 1-2-8 所示。图 1-2-8 单分支结构超时吗 收取停车费否是04活动过程—认识分支结构科学园地例2:如果一个分数的分母为0,那么输出“该分数错误”,否则输出“该分数正确”。流程图如图1-2-9 所示。图 1-2-9 双分支结构分数的分母为0吗 否是该分数错误该分数正确04活动过程—认识分支结构做一做请举出几组三角形,根据图1-2-10中所示的分支结构进行判断,得出结果。图 1-2-10 判断钝角三角形的分支结构三角形中有一个钝角吗?否是该三角形是钝角三角形该三角形不是钝角三角形等腰三角形、直角三角形、等边三角形04活动过程—认识分支结构你知道吗?农业机器人正逐渐成为农业生产中的重要工具。改进农业生产活动中的算法,提高机器人在种植、采摘、喂养、收割等环节的效率,不但可以减轻农民的劳动强度,还能提高农产品的产量和质量。如图1-2-11所示为采摘蘑菇机器人它能自动识别蘑菇的品种、测量蘑菇尺寸,并根据需要进行选择性采摘。图 1-2-11 新闻报道中的采摘蘑菇机器人03分支结构在生活中的应用。1.用户认证:在用户登录系统时,可以使用分支结构判断输入的用户名和密码是否正确。如果正确,则允许用户登录;否则,拒绝用户登录并显示相应的错误信息。2.条件筛选:在数据处理过程中,可以使用分支结构根据特定条件对数据进行筛选。例如,在一个学生成绩管理系统中,可以通过设置阈值来筛选出及格或优秀的学生,并进行相应的统计和处理。知识拓展活动过程—认识分支结构03分支结构在生活中的应用。3.游戏逻辑:在游戏开发中,分支结构经常被用于处理玩家行为和游戏规则。例如,在一个冒险类游戏中,当玩家遭遇敌人时,可以使用分支结构判断玩家攻击力、敌人血量等条件,并根据不同情况执行不同动作。4.菜单选择:在交互式程序中,可以使用分支结构实现菜单选择功能。根据用户输入的数字或字母选择不同菜单项,并执行相应操作。知识拓展活动过程—认识分支结构06有3个规格相同的瓶子,装有维生素片,其中1瓶里少了3片(次品),借助天平,可以找出这瓶次品(图1-2-12)。解决问题的思路是:用天平称2瓶维生素片,如果天平平衡,那么剩下的一瓶是要找的次品;如果天平不平衡,那么轻的一瓶是要找的次品。挑战时刻图 1-2-12 用天平找次品06挑战时刻想一想,找次品的过程有没有用到分支结构?若是,请用“如果……那么……否则……”的句式来写。如果否则那么瓶子1和瓶子2放到天平上不平衡。过程中需要用到分支结构重量轻的那一瓶是次品。瓶子3是次品。07拓展延伸1、交通中的算法设计。07拓展延伸2、分支结构在处理复杂业务逻辑时有哪些局限性,如何克服这些局限性?局限性:代码冗余: 当分支结构嵌套过多时,代码会变得冗余且难以维护。可读性差: 嵌套过深的代码结构会降低代码的可读性,难以理解和调试。难以扩展: 当业务逻辑发生变化时,需要修改多个分支,容易出错。07拓展延伸2、分支结构在处理复杂业务逻辑时有哪些局限性,如何克服这些局限性?如何克服:使用函数: 将重复的代码封装成函数,可以减少代码冗余,提高代码的可读性和可维护性。使用设计模式: 针对不同的业务逻辑,可以使用不同的设计模式,例如策略模式、状态模式等,可以使代码更易于扩展和维护。使用面向对象编程: 将业务逻辑封装成对象,并通过继承和多态等机制实现代码复用,提高代码的灵活性和可扩展性。07拓展延伸3、在设计算法时,如何确保流程图中的每个步骤都是最优和必要的?确问题定义:清楚算法要解决的问题或达到的目标。确保每一步都有助于实现这一目标。确定算法的输入、输出以及它们之间的关系,确保每个步骤都是在处理这些数据。分解问题:将复杂的问题分解为更小的、可管理的部分,确保每个部分都有明确的目标和功能。每一部分都应能单独解决问题的一部分,避免不必要的复杂性。07拓展延伸3、在设计算法时,如何确保流程图中的每个步骤都是最优和必要的?评估每个步骤:对每个步骤进行必要性分析,问自己是否可以省略或合并该步骤而不影响最终结果。验证和测试:在实际执行前,模拟流程图,确保每个步骤都能按预期工作,并验证其必要性和有效性。循环反馈与改进:在实施和测试后,收集用户或其他开发者的反馈,了解哪些步骤有效,哪些步骤可优化。根据反馈和测试结果不断优化流程图和算法步骤,确保它们保持最优。08课堂练习为以下问题设计算法:购买电影票,进入影厅前需要检票,检票员检验电影票,撕掉票根。如果是3D电影票那么发放3D眼镜,如果不是3D电影票那么直接引导观影者进入指引相应影厅。检验电影票开始是3D电影票 结束发放3D眼镜是否指引相应影厅09课堂小结通过分析摘草莓算法中的控制结构课程,我们认识了顺序结构、分支结构,学习了生活中哪些算法是顺序结构、哪些算法是分支结构以及描述算法的方式等知识。学习了如何设计算法、认识流程图符号、画流程图,了解不同类型的控制结构以及它们对解决问题效率的影响,学会优化算法和提高程序运行速度。10板书设计分析摘草莓算法中的控制结构一、认识顺序结构二、认识分支结构三、描述算法的方式有哪些四、挑战时刻课后作业1、寻找生活中哪些算法是分支结构,试着设计其算法。https://www.21cnjy.com/recruitment/home/fine 展开更多...... 收起↑ 资源列表 分支结构.mp4 拓展视频.mp4 黔科版五年级上册:第2课 分析摘草莓算法中的控制结构.pptx