资源简介 中小学教育资源及组卷应用平台第16课 比较交换找最值 教学设计课题 比较交换找最值 单元 第五单元 学科 信息科技 年级 五年级教材分析 本节课义务教育版五年级全一册信息技术教材的第16课 比较交换找最值。主要介绍了通过比较交换的方法来找到一组数据中的最大值和最小值。教材首先通过一个简单的问题情境引入,如 “如何从一组杂乱无章的数据中快速找到最大值和最小值呢?” 接着,教材详细阐述了比较交换找最值的原理和步骤。以两个数的比较为例,介绍了如何通过比较大小并交换位置来确定较大值和较小值。然后,将这种方法扩展到多个数的情况,引导学生逐步理解如何通过多次比较交换来找到一组数据中的最大值和最小值。教材中还配有清晰的流程图和示例代码,帮助学生更好地理解和掌握这种方法。学习目标 信息意识:培养数据意识,认识到在数据处理中找出最大值(或最小值)的重要性。关注算法在日常生活和学习中的应用场景。计算思维:理解并掌握通过“比较”与“交换”找出数列中最大值(或最小值)的算法原理。能够独立编写或描述出寻找最大值(或最小值)的算法步骤。数字化学习与创新:使用图形化编程工具(如Scratch)模拟实现寻找最大值(或最小值)的算法。尝试对算法进行改进或创新,提出自己的优化方案。信息社会责任:培养团队合作精神,通过小组合作完成任务。认识到合理使用算法对信息处理和传递的重要性,树立负责任的信息处理态度。重点 掌握比较交换找最值的方法,能够用编程语言实现这一过程。难点 理解比较交换找最值的原理,培养学生的编程思维和逻辑推理能力。教学过程教学环节 教师活动 学生活动 设计意图导入新课 日常生活中,我们常常遇到找出最大数或最小数的问题,如找出身高最高的人、找出直径最大的水果、找出某月气温最高的一天、找出同款价格最低的商品等。想一想,你还知道哪些与“最值”有关的事情? 学生认真聆听、讨论。 引发学生的兴趣与思考。讲授新课 一、描述找出最大数的算法 桌上有5个信封,编号分别为1、2、3、4、5,每个信封里装有一张卡片,卡片上写着一个大于0的数,请找出其中的最大数。活动步骤第1步:准备一张新卡片,称为A卡,用来记录查找过程中的最大数。第2步:打开第一个信封,查看卡片上的数并记录在A卡上。第3步:打开第二个信封,查看卡片上的数并与A卡上的数比较,如果这个数比A卡上的数大,那么把A卡上的数更新成这个数,否则不更新。第4步:用同样的方法,依次打开第三个、第四个、第五个信封,查看卡片上的数,并与A卡上的数比较,决定是否更新A卡上的数。第5步:最后,A卡上的数就是最大数。在以上步骤中,从第3步开始就是重复操作。如果首先在A卡上记录0,第2步就可以是重复操作。可以构建循环结构来描述算法。第1步:在A卡上记录0。第2步:按顺序打开一个信封,查看卡片上的数,把这个数与A卡上的数比较。如果比A卡上记录的数大,那么把A卡上的数更新成这个数,否则不更新。 第3步:对每个信封做第2步的操作。第4步:最后,A卡上的数就是最大数。验证找出最大数的算法在Python中,列表是一种常见的数据序列,用于存储一系列数据。例如,下面的语句可以创建一个包含5个数的列表。通过下标来引用列表中的数据。 列表下标从0开始,而不是从1开始。也就是列表第一个数据的下标是0,第二个数据的下标是1,依次类推。利用len( )函数可以获取列表中的数据个数。控制变量i,从1变化到等于cc的值(数据个数)时,结束循环。循环结束后,输出变量a的值,就是这个列表中的最大数。 分析循环次数发现,程序进行了4次循环,比前面活动中少循环一次,这是为什么呢? 观察发现,前面活动中先在A卡上记录0,再进行数据循环比较,而程序实现时,先在变量a中保存第一个数,再用这个数与第二个数比较,因此,可以减少一次循环。 学生认真聆听教师讲解,积极参与讨论;小组讨论完成学习活动教师引导学生思考:积极参与小组讨论,分享并讨论自己的见解和发现。 激发学生的学习兴趣,引导学生关注寻找解决问题的途径与方法,以及解决问题并验证结果等阶段。通过互动讨论。促进学生之间的交流与合作。为后续课程打下基础。作业布置 随意列举一些无序的数,要从中找出最小数,应该如何操作?尝试用程序验证。 课堂小结 1.在无序数中找出最值的算法,在生活中有很多应用案例,只要细心观察,就会发现它们的存在和所起的作用。 2.寻找最值的算法主要采用了记录、比较、交换以及循环判断等操作,这也是对数据进行比较运算的基本方法。板书 一、描述找出最大数的算法二、验证找出最大数的算法21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)HYPERLINK "http://www.21cnjy.com/" 21世纪教育网(www.21cnjy.com)(共26张PPT)第16课 比较交换找最值(义务教育版)五年级下册教学目标1新知导入2议一议3想一想4学一学5练一练6课堂总结7作业布置81教学目标1.了解在一组无序数中找出最大数的基本步骤,并能辨认其中的循环操作。2.分析、描述找出最大数的算法,体验用程序验证算法的一般过程。2新知导入日常生活中,我们常常遇到找出最大数或最小数的问题,如找出身高最高的人、找出直径最大的水果、找出某月气温最高的一天、找出同款价格最低的商品等。3议一议想一想,你还知道哪些与“最值”有关的事情?4想一想[12, 34, 56, 23, 45]这是一组顺序乱的数据,想想如何快速找到这组数据中的最大值和最小值。5学一学一、描述找出最大数的算法问题提出 桌上有5个信封,编号分别为1、2、3、4、5,每个信封里装有一张卡片,卡片上写着一个大于0的数,请找出其中的最大数。5学一学寻找最大数的方法和步骤。用A卡记录最大值,把信封里的数记录在A卡上后放回去。依次打开其他信封,比较数值,如果值大就更新。问题分析5学一学第1步:准备一张新卡片,称为A卡,用来记录查找过程中的最大数。第2步:打开第一个信封,查看卡片上的数并记录在A卡上。第3步:打开第二个信封,查看卡片上的数并与A卡上的数比较,如果这个数比A卡上的数大,那么把A卡上的数更新成这个数,否则不更新。第4步:用同样的方法,依次打开第三个、第四个、第五个信封,查看卡片上的数,并与A卡上的数比较,决定是否更新A卡上的数。第5步:最后,A卡上的数就是最大数。活动步骤5学一学 在以上步骤中,从第3步开始就是重复操作。如果首先在A卡上记录0,第2步就可以是重复操作。可以构建循环结构来描述算法。算法涉及搜索、比较、交换等操作。5学一学算法描述 第1步:在A卡上记录0。第2步:按顺序打开一个信封,查看卡片上的数,把这个数与A卡上的数比较。如果比A卡上记录的数大,那么把A卡上的数更新成这个数,否则不更新。第3步:对每个信封做第2步的操作。第4步:最后,A卡上的数就是最大数。5学一学 找出最大数并记录所在的信封,应该如何改进算法呢?这样用前面的算法步骤就能完成任务。需要一张新卡片记录最大值的信封编号。进一步探究5学一学把流程图补充完整。5学一学二、验证找出最大数的算法 在Python中,列表是一种常见的数据序列,用于存储一系列数据。例如,下面的语句可以创建一个包含5个数的列表。# 创建一个包含5个数的列表box = [24,91,42,108,35]认识列表这个列表的名称是box,把数据放在方括号 [ ]里。每个数据之间用英文逗号“,”分隔开。5学一学列表下标 box [0] box [1] box [2] box [3] box [4]列表数据 24 91 42 108 35 通过下标来引用列表中的数据。 列表下标从0开始,而不是从1开始。也就是列表第一个数据的下标是0,第二个数据的下标是1,依次类推。5学一学 利用len( )函数可以获取列表中的数据个数。# 创建一个包含5个数的列表box = [24,91,42,108,35]# 用变量cc保存box列表中的数据个数cc = len(box)其中cc=len(box)是赋值语句,表示把len()获取的box列表的数据个数保存到变量cc中。5学一学知识回顾 在Python中,用while循环可以实现算法的循环结构。while循环基本格式如下。 while 判断条件: 语句组 当循环的次数不确定时,可以根据条件进行判断。当条件成立时,执行条件后的语句;当条件不成立时,结束循环。5学一学运行程序打开找出列表中最大数的程序并运行,分析程序与算法的关系。box = [24, 91, 42, 108, 35]cc = len(box)a = box[0]i = 1while iif box[i] > a:a = box[i]i = i+1print('最大数为:', a)#创建一个包含5个数的列表#用cc保存box列表中的数据个数#用a保存最大数,初始值设为列表第0项#循环变量初始值设为1#用循环结构逐个比较列表中的数#如果当前数大于a的值#更新a的值#循环控制变量增加1,继续循环#输出找到的最大数5学一学 在while循环中,用变量a保存最大数,并用条件语句if来比较。当前数box[i]的值是否大于已经找到的最大数a。如果是,就将a的值更新为box[i]的值。这样,通过循环操作逐个查找,找出列表中的最大数并更新到变量a中。 5学一学 控制变量i,从1变化到等于cc的值(数据个数)时,结束循环。循环结束后,输出变量a的值,就是这个列表中的最大数。 分析循环次数发现,程序进行了4次循环,比前面活动中少循环一次,这是为什么呢?观察发现,前面活动中先在A卡上记录0,再进行数据循环比较,而程序实现时,先在变量a中保存第一个数,再用这个数与第二个数比较,因此,可以减少一次循环。6练一练 在寻找最大数的过程中,一共要循环多少次?也就是说,要做多少次“比较两个数大小”的操作?如果是5 000个数呢?上面的例子里一共5个数,用在A卡上写0的方法,要循环5次。其实很简单,循环次数就是数据个数。7课堂总结 1.在无序数中找出最值的算法,在生活中有很多应用案例,只要细心观察,就会发现它们的存在和所起的作用。 2.寻找最值的算法主要采用了记录、比较、交换以及循环判断等操作,这也是对数据进行比较运算的基本方法。8作业布置 随意列举一些无序的数,要从中找出最小数,应该如何操作?尝试用程序验证。 9板书设计一、描述找出最大数的算法二、验证找出最大数的算法https://www.21cnjy.com/recruitment/home/fine 展开更多...... 收起↑ 资源列表 第16课 比较交换找最值.doc 第16课 比较交换找最值.pptx