义务教育版(2024)五年级信息科技 第19课 冒泡排序齐体验(2)课件(共25张PPT)+教案

资源下载
  1. 二一教育资源

义务教育版(2024)五年级信息科技 第19课 冒泡排序齐体验(2)课件(共25张PPT)+教案

资源简介

中小学教育资源及组卷应用平台
第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
作业布置
8
1
教学目标
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=0
while ij=0
while jif data[j] > data[j + 1]:
data[j], data[j + 1] = data[j + 1], data[j]
j=j+1
print(f'第{i+1}轮遍历: {data} ')
i=i+1
print('排序后数据:',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

展开更多......

收起↑

资源列表