资源简介 中小学教育资源及组卷应用平台第19课 冒泡排序齐体验(2) 教学设计课题 冒泡排序齐体验(2) 单元 第五单元 学科 信息科技 年级 五年级教材分析 本节课义务教育版五年级全一册信息技术教材的第19课 冒泡排序齐体验(2) 。本课将进一步巩固和深化学生对冒泡排序算法的理解与应用。冒泡排序作为一种简单的排序算法,通过重复遍历要排序的数列,比较每对相邻元素的值,若发现顺序错误则交换之,直到没有需要交换的元素为止。在《冒泡排序齐体验(1)》的基础上,本课将更深入地探讨冒泡排序的过程,并通过实践活动让学生亲身体验其算法的执行过程,从而培养学生的信息意识、计算思维、数字化学习与创新能力以及信息社会责任。学习目标 信息意识:识别数据排序在日常生活和学习中重要性的意识。关注数据排序对信息处理和决策的影响。计算思维:深入理解冒泡排序算法的原理和步骤。学会使用流程图或伪代码描述冒泡排序算法。数字化学习与创新:通过动手实践,使用编程工具实现冒泡排序算法。信息社会责任:认识到合理使用排序算法对信息处理和传递的重要性。重点 理解冒泡排序算法的基本概念和原理。能够通过图示或语言描述冒泡排序的过程。难点 优化冒泡排序算法。教学过程教学环节 教师活动 学生活动 设计意图导入新课 上一课我们通过“排队”活动,体验了冒泡排序的算法步骤,但对具体的数据排序认识还不够深入。本课通过分析具体的数据排序,继续探究、体验其中的算法规律,并利用程序来进行验证,了解算法的程序实现。 学生认真聆听、讨论。 引发学生的兴趣与思考。讲授新课 一、冒泡排序的过程分析找出最大数利用冒泡排序算法,把下面的最大数交换到最后(最右侧)。第1步:比较第一个数和第二个数,7>5,交换位置。第2步:比较第二个数和第三个数,7<9,不交换位置。第3步:比较第三个数和第四个数,9>3,交换位置。第4步:比较第四个数和第五个数,9>6,交换位置。第5步:比较第五个数和第六个数,9>8,交换位置。验证冒泡排序的算法下面通过观察、运行冒泡排序的程序,体会算法的实现。第1步:打开配套资源中的“冒泡排序.py”程序。第2步:观察、运行程序,体验冒泡排序的算法执行过程。第3步:大致了解程序与算法的对应关系。第4步:尝试修改程序中的排序数据,再运行程序,观察变化。例如,可以在第一行中增加更多的数据。 学生认真聆听教师讲解,积极参与讨论;小组讨论完成学习活动教师引导学生思考:积极参与小组讨论,分享并讨论自己的见解和发现。 激发学生的学习兴趣,引导学生关注寻找解决问题的途径与方法,以及解决问题并验证结果等阶段。通过互动讨论。促进学生之间的交流与合作,加深对排序的理解和应用。为后续课程打下基础。作业布置 在配套资源中,有用for循环实现的冒泡排序参考程序。打开并运行这个程序,观察它与 while循环的不同之处,体会同一算法用不同程序实现的方法。课堂小结 1.通过情境体验活动,加深了对冒泡排序算法的认识,感受到数据的比较与交换规律。2.一轮“冒泡”排序后,会固定当前未排序数中最大数的位置,因此这个数不需要再参与下一轮的比较,比较次数减少一次。3.通过利用程序验证算法,初步体会到用计算机解决问题的重要性和必要性。板书 一、冒泡排序的过程分析二、验证冒泡排序的算法21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)HYPERLINK "http://www.21cnjy.com/" 21世纪教育网(www.21cnjy.com)(共25张PPT)第19课 冒泡排序齐体验(2)(义务教育版)五年级下册教学目标1新知导入2议一议3想一想4学一学5练一练6课堂总结7作业布置81教学目标1.进一步认识冒泡排序算法,能够对一组数据进行排序过程分析。2.能够用程序验证排序算法,观察数据的排序过程,培养用算法解决问题的意识。2新知导入 上一课我们通过“排队”活动,体验了冒泡排序的算法步骤,但对具体的数据排序认识还不够深入。本课通过分析具体的数据排序,继续探究、体验其中的算法规律,并利用程序来进行验证,了解算法的程序实现。 3议一议 谁能回忆一下冒泡排序算法的基本原理是什么? 冒泡排序算法是通过多次比较和交换相邻的元素,将较大(或较小)的元素逐步“冒泡”到数组的末尾(或开头),从而实现数据的有序排列。 4想一想那么,我们是如何用编程语言实现冒泡排序算法的呢?5学一学一、冒泡排序的过程分析找出最大数利用冒泡排序算法,把下面的最大数交换到最后(最右侧)。5学一学第1步:比较第一个数和第二个数,7>5,交换位置。5学一学第2步:比较第二个数和第三个数,7<9,不交换位置。5学一学第3步:比较第三个数和第四个数,9>3,交换位置。5学一学第4步:比较第四个数和第五个数,9>6,交换位置。5学一学第5步:比较第五个数和第六个数,9>8,交换位置。 第一轮比较完成,最大数“冒泡”到了最后,表明最大数已经归位。5学一学 第一轮:把最大数交换到最后,前面已经完成。第二轮:返回最左边,在第一个至第五个数中,利用“把最大数交换到最后”的方法,通过比较、交换找到它们中的最大数,把它排到第五的位置。从小到大排序5学一学第三轮:返回最左边,在第一个至第四个数中,通过比较、交换找到它们中的最大数,把它排到第四的位置。5学一学 第四轮:返回最左边,在第一个至第三个数中,通过比较、交换找到它们中的最大数,把它排到第三的位置。5学一学 第五轮:返回最左边,比较第一个数和第二个数,把较大的数排到第二的位置。5学一学二、验证冒泡排序的算法下面通过观察、运行冒泡排序的程序,体会算法的实现。 第1步:打开配套资源中的“冒泡排序.py”程序。 第2步:观察、运行程序,体验冒泡排序的算法执行过程。5学一学第3步:大致了解程序与算法的对应关系。 #初始数据#用外层循环控制排序的轮数#用内层循环控制每一轮的数据比较#如果前一个数大于后一个数#交换这两个数#移动到下一个数#输出当前数据的顺序#进入下一轮比较#输出排序结果data=[65,3,25,129,311,93,88,156,72,29,336,858,168,108,27]print('排序前数据:',data)n=len(data)i=0while ij=0while jif data[j] > data[j + 1]:data[j], data[j + 1] = data[j + 1], data[j]j=j+1print(f'第{i+1}轮遍历: {data} ')i=i+1print('排序后数据:',data)5学一学第4步:尝试修改程序中的排序数据,再运行程序,观察变化。例如,可以在第一行中增加更多的数据。data=[65,3,25,129,311,93,88,156,72,29,336,858,168,108,27]6练一练 “报数”排序游戏。 在10张卡片上分别写下一个50以内的自然数,随机分发给10位同学,然后选一位同学出来从1开始报数。当报的数与某张卡片上的数相同时,该同学就手持卡片站出来。继续报数,直到50为止,手持卡片的同学按先后顺序站成一排,这时发现,这10个数已经按顺序排列。 用计算机解决排序问题时,也可以用以上“报数”的方法。计算机按顺序数数,当数到的数与参与排序的某个数相同时,这个数就会被加入到已排序数的队列中。7课堂总结1.通过情境体验活动,加深了对冒泡排序算法的认识,感受到数据的比较与交换规律。2.一轮“冒泡”排序后,会固定当前未排序数中最大数的位置,因此这个数不需要再参与下一轮的比较,比较次数减少一次。3.通过利用程序验证算法,初步体会到用计算机解决问题的重要性和必要性。8作业布置 在配套资源中,有用for循环实现的冒泡排序参考程序。打开并运行这个程序,观察它与 while循环的不同之处,体会同一算法用不同程序实现的方法。 提示:在Python中,for循环语句的基本格式如下。 for 变量 in 序列: 循环体9板书设计一、冒泡排序的过程分析二、验证冒泡排序的算法https://www.21cnjy.com/recruitment/home/fine 展开更多...... 收起↑ 资源列表 第19课 冒泡排序齐体验(2).doc 第19课 冒泡排序齐体验(2).pptx