(共37张PPT)
第1单元 第2课
算法的描述与验证
(湘科版)五年级
上
1
核心素养目标
3
新知讲解
5
拓展延伸
7
板书设计
2
新知导入
4
课堂练习
6
课堂总结
课后作业
8
01
核心素养目标
信息意识
计算思维
数字化学习与创新
信息社会责任
要遵守相关的法律法规和道德规范,不抄袭他人的算法设计成果,尊重他人的知识产权。
可以利用数字化工具,如编程软件、流程图绘制工具、在线学习平台等,来辅助算法的设计、实现和验证。
运用计算思维将实际问题转化为算法问题,如学习炒菜、取快递等,能够通过设计算法步骤、分析算法逻辑来解决生活中的问题。
在学习算法的描述和验证过程中,学生需要敏锐地感知算法在各个领域的应用价值,主动去寻找和利用相关信息来解决问题。
02
新知导入
02
新知导入
活动背景
根据从互联网上学到的做菜方法,小红尝试完成“辣椒炒肉”这道菜。由于搜索到的做菜方法描述不精确,在制作过程中她遇到了很多困难,做出来的菜不是太咸就是太淡,不是炒糊了就是没熟透。那么,应该如何清晰准确地描述做菜方法呢
02
新知导入
活动目标
初步学会描述算法的基本方法。
认识算法验证的重要性。
03
新知讲解
一、 描述算法的基本方法
在找到解决问题的算法之后,要将方法和步骤清晰、准确地描述出来,这样我们就可以按照步骤逐步执行算法,解决问题。
算法描述
03
新知讲解
要清晰准确地描述算法。
准备:将猪肉切片,加少许生抽腌制,将青椒、大蒜切片。
制作:开火,在锅中倒入油并烧热,将青椒片、大蒜片放入锅中炒至断生,加入猪肉,快速翻炒,加入少许盐和老抽调味,即可出锅。
第1步:将猪肉切片,加少许生抽腌制。
第2步:将青椒、大蒜切片。
第3步:开火,在锅中倒入油并烧热。
第4步:将青椒片、大蒜片放入锅中炒至断生。
第5步:加入猪肉,快速翻炒。
第6步:加入少许盐和老抽调味,即可出锅。
更清晰
03
新知讲解
第1步:将 200克猪肉切成2毫米厚的片,加5克生抽制5分钟。
第2步:将50克青椒、5 克大蒜切成1厘米宽的片。
第3步:在锅中倒入20 克油,加热到140℃。
第4步:将青椒片、大蒜片放入锅中翻炒1分钟。
第5步:加入猪肉,翻炒5分钟。
第6步:加入3克食盐和5克老抽,即可出锅。
更准确
自然语言是人们日常生活中使用的语言,如汉语、英语等。用自然语言描述算法符合我们的表达习惯,描述简单且容易被理解,是常用的算法描述方式。
03
新知讲解
算法的描述可以采用多种语言和方法,包括:
自然语言:如中文、英文等,适合于简洁的表达和初步的算法设计,但可能不够精确。
伪代码:以简洁而又形式化的方式表达算法的逻辑,强调步骤的清晰度和结构,常用于算法的设计阶段。
03
新知讲解
流程图:通过图形化的方式展现算法的执行过程,适合可视化分析。
数学符号和公式:使用数学语言和符号来严格定义算法的行为,适用于形式化和精确的描述。
编程语言:如 Python、C++ 等,直接实现算法,通常用于算法的实际执行。
03
新知讲解
信息链接
产品的使用手册或操作说明书可以看作是用自然语言描述的算法。
按照说明书的操作步骤,我学会了用电饭煲煮饭。
电饭煲煮饭说明书
第1步:将淘干净的米放入内锅。
第2步:根据米量的多少,放水至相应水位线。
第3步:合上盖,接通电源。
第4步:按“功能”键选择“煮饭”模式。
第5步:按“开始”键,启动煮饭。
03
新知讲解
尝试用语言描述快递柜的取件方法。
探究实践
03
新知讲解
探究实践
扫码取件:
步骤1. 打开相应的微信公众号或快递柜对应的APP,找到自己的快递信息;
步骤 2.点击要取的快递,然后选择“扫码取件”选项;
步骤 3.将手机上的二维码扫描界面对准快递柜上的二维码。
输入取件码取件:
步骤 1.查看手机上收到的快递取件码短信;
步骤 2.选择“输入取件码”选项,然后在触摸屏上输入收到的取件码,点击确认按钮;
步骤 3.验证通过后,相应的柜门会自动打开。
03
新知讲解
用自然语言描述算法虽然通俗易懂,但存在不直观、不简洁的缺点在某些情况下,用图示或图形描述算法更加清晰。例如,新来的快递员根据图示寻找小红的家,更加直观、简洁。
算法的不同描述方式
03
新知讲解
二、验证算法
描述的算法是否正确,需要进行验证。如果严格按照算法步骤或流程执行,能得到预期的结果,那么此算法是正确的。正确性是对算法最基本、最重要的要求。例如,我们在解决一个数学问题后,常常需要对结果进行验算,以确保算法的正确性。
03
新知讲解
我严格按照步骤说明,尝试做出了一个小蛋糕,我有信心给妈妈做一个漂亮的生日蛋糕。
算法的验证
对于有些算法,验证它的正确性比较简单,但对于另一些算法,要验证它的正确性不太容易,有时甚至需要通过间接的方式进行验证。
03
新知讲解
1.“曹冲称象”的故事大家耳熟能详,请用自然语言描述曹冲称象的算法。
开动脑筋
曹冲称象主要运用了“等效替换法”。
第一步:将大象赶到一艘船上,此时船会因大象的重量而下沉,待船身稳定后,在船舷与水面平齐的位置刻下一道线,以此记录下大象在船上时船的位置。
03
新知讲解
开动脑筋
第二步:把大象从船上牵下,往船上装石头。随着石头的不断放入,船会逐渐下沉,持续装石头直至船舷上的线再次和水面平齐,此时船上的石头总重量就等于大象的重量,实现了用石头替代大象重量的等效替换。
第三步:将船上的石头一块一块地搬下来,用秤称出每一块石头的重量,然后把这些重量累加起来,最终得出的总和就是大象的重量。
03
新知讲解
2.小组讨论:曹冲用一堆石头替代了大象的重量,如何验证这种方法的正确性
开动脑筋
理论验证 :依据阿基米德原理,物体在流体中受到的浮力等于它排开流体的重量。当大象在船上时,船排开的水量对应的浮力等于大象的重量;用石头替换大象后,石头的总重量也必须等于同体积水的重量,所以二者重量必然相等,从理论层面验证了方法的正确性。
正确性:验证算法是否能正确解决问题,产生预期的输出。
可靠性:通过验证,确保算法在各种输入下都能稳定运行,而不会导致崩溃或错误。
性能:验证算法在不同规模或复杂度的问题上是否表现出预期的时间和空间效率。
适应性:确保算法能够适应不同的应用场景和环境,能够处理各种边界条件和异常情况。
03
新知讲解
为什么要验证算法
03
新知讲解
练习提升
1. 请根据表格中的算法描述,将符合条件的图形序号填写在“可能的图形”对应的一栏中。
03
新知讲解
练习提升
算法描述 可能的图形
算法 1 步骤 1:画一个正方形。 步骤2:在正方形中画一条线。 步骤3:再在正方形中画一条线。
算法 2 步骤1:画一个正方形。 步骤2:在正方形中画一条线,将其分成两个图形。 步骤3:再在其中一个图形中画一条线,将其分成两个图形。
①②
③④
③④
03
新知讲解
练习提升
算法描述 可能的图形
算法 3 步骤 1:画一个正方形。 步骤2:在正方形的中间画一条直线,将其分为左右两个相等的长方形。 步骤3:再在右侧长方形的中间画一条直线,将其分为上、下两个相等的正方形。
②
03
新知讲解
练习提升
2.鸡兔同笼问题是中国古代的数学名题之一,大约 1500年前的《孙子算经》中就记载了这个有趣的问题。大意是:有若干只鸡和兔同在一个笼子里,从上面数有35 个头,从下面数有94只脚,问笼中鸡和兔各有多少只。上网查找鸡兔同笼问题的多种算法,分享自己最喜欢的算法。
04
课堂练习
一、选择题
1、下面关于算法的描述,正确的是( )
A. 算法不可以用自然语言描述
B. 算法只能用流程图来描述
C. 一个算法必须保证它的执行步骤是有限的
D. 算法的流程图表示法有零个或多个输入,但只能有一个输出
2、下面哪个不是算法的特征( )
A. 抽象性 B. 精确性 C. 有穷性 D. 唯一性
C
D
04
课堂练习
3、介于自然语言和计算机语言之间的文字和符号来描述算法的是( )
A. 二进制代码 B. 程序代码
C. 流程图描述法 D. 伪代码
二、判断题
1、算法就是用计算机求解某一问题方法,是能被机械地执行的动作或指令的无穷集合。
2、用自然语言描述算法,就是用人们日常所用的语言,如汉语、英语等来描述算法。
D
√
X
04
课堂练习
三、操作题
选择一个简单的日常生活场景,如“早上起床到出门上学的过程”,用流程图来描述这个过程的算法。要求包含开始、结束符号,以及如“起床”“洗漱”“吃早餐”“检查书包”等步骤,并使用判断符号判断是否带齐物品等。
05
拓展延伸
算法的安全性和可靠性
鲁棒性:指算法在面对输入数据的变化或不确定性时仍然能够稳定、正确地工作。例如,在数据输入错误、数据缺失或者噪声干扰的情况下,算法仍然能够正常运行并给出合理的结果。
05
拓展延伸
算法的安全性和可靠性
抗攻击性:指算法在面对故意的攻击或破坏时的表现。对于安全敏感的算法(如加密算法、机器学习模型),攻击者可能会尝试修改输入数据或通过其他方式影响算法的结果。一个抗攻击性强的算法能够抵抗这些攻击,保持其性能和安全性。
05
拓展延伸
算法复杂度分析
排序算法
对于快速排序,其平均时间复杂度是 O(n log n),在大多数情况下,快速排序表现非常好。然而,在最坏情况下(如已经排序的数组或逆序数组),其时间复杂度会退化为 O(n ),这时它的表现就非常差。
堆排序,在最坏情况下始终保持 O(n log n) 的时间复杂度,因此即使在极端情况下,它的性能也较为稳定。
05
拓展延伸
算法复杂度分析
图遍历算法
对于一个稠密图,例如完全图(每对节点都有边),使用深度优先搜索(DFS)或广度优先搜索(BFS)的时间复杂度是 O(V+E),其中 V 是节点数,E 是边数。在稠密图中,边数 E 可以接近 V ,导致算法的运行时间较长。
在稀疏图中,边数 E 比 V 小得多,这时 DFS 或 BFS 的运行效率就会更高。因此,图的结构(稠密或稀疏)对算法的复杂度表现有很大影响。
06
课堂总结
1
引入新知内容
算法的描述与验证
2
描述算法的基本方法
3
了解如何验证算法
4
完成课堂练习
5
进行相关知识拓展
1
2
3
4
5
07
板书设计
算法的描述与验证
1、进行新知引入
2、描述算法的基本方法
3、了解如何验证算法
4、完成课堂练习
5、进行知识拓展
课后作业。
1、思考如何提高算法的效率。
2、算法解决问题的应用。
08
课后作业
1、回顾之前设计的算法,思考如何对其进行优化,以提高算法的效率或解决可能存在的问题。
2、设计一个算法来解决“计算班级学生平均成绩”的问题。可以用自然语言、伪代码或流程图中的任意一种方式进行描述。
https://www.21cnjy.com/recruitment/home/fine