主题一任务三《冒泡排序齐体验》课件+素材【桂科版】信息科技-五年级下册

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

主题一任务三《冒泡排序齐体验》课件+素材【桂科版】信息科技-五年级下册

资源简介

(共42张PPT)
第一单元 第3课
冒泡排序齐体验
(桂科版)五年级

1
核心素养目标
3
新知讲解
5
拓展延伸
7
板书设计
2
新知导入
4
课堂练习
6
课堂总结
课后作业
8
01
核心素养目标
信息意识
计算思维
数字化学习与创新
信息社会责任
在小组协作中尊重同伴算法思路,养成互助协作的学习习惯。
体验数字化工具在算法验证中的作用,提升数字化实践创新能力。
理解冒泡排序“相邻比较、逐步冒泡”的核心逻辑,能描述算法步骤,流程图梳理算法结构,初步具备问题分解与优化的思维。
认识冒泡排序在数据整理中的应用价值,能主动运用冒泡排序解决生活中的简单数据排序问题,形成对算法应用的敏感度。
02
新知导入
观看视频,你有什么发现?
02
新知导入
学习目标
1. 认识冒泡排序“相邻比较、逐步冒泡”特点,愿意用冒泡排序解决生活中简单的排序问题。
2. 理解冒泡排序轮次与比较逻辑,能转化为自然语言和流程图描述冒泡排序算法的执行步骤。
3. 能补充冒泡排序的程序代码,通过Scratch编程工具验证结果。
4. 小组合作中分享思路,尊重同伴,养成互助协作的学习习惯。
02
新知导入
水果超市里,小小售货员们结束了一天的工作。他们的销售额分别是29元、10元、15元、37元、14元、2元、30元,壮壮想用冒泡排序找出最大值。
冒泡排序是一种比较简单直观的排序方法,比较和交换有着重要作用哟!
02
新知导入
在上一课中,我们学习了排序的基本方法,那么比较一组无序数据的时候,除了选择排序还有没有其他方法呢?
冒泡排序:在一组无序的数中,从前面开始,比较相邻两个数的大小,再根据比较结果交换两个数的位置,如此循环,直到把整组数从小到大排列完成。
有种排序像气泡一样不断往上冒,气泡大的在上面,气泡小的在下面。
03
新知讲解
一、初识冒泡排序
观看视频,初步了解冒泡排序
你对冒泡排序的过程是怎么理解的?
02
新知导入
以把一组数从小到大排列为例,冒泡排序就是在一组无序的数中,从前面开始,比较相邻两个数的大小,再根据比较结果交换两个数的位置,如此循环,直到把整组数排列有序为止。在这个过程中,数值大的数会像泡泡一样,逐渐从序列的前面“浮”到后面。
通常有两种冒泡方式:一种是把大的数冒泡到后面,另一种是把小的数冒泡到前边。
小知识
03
新知讲解
探究一:体验冒泡的排序过程
29
10
15
37
14
2
30
第一轮 次数 比较元素 比较结果 交换后数组
1
2
3
4
5
6
活动记录
填写每一轮记录单
03
新知讲解
活动步骤(第一轮)
29
10
第一次
交换
10
29
15
37
14
2
30
第一次
比较后数组

10
29
15
37
14
2
30
初始
数组
03
新知讲解
活动步骤(第一轮)
29
15
第二次
交换
10
15
29
37
14
2
30
第二次
比较后数组

29
10
15
37
14
2
30
第一次
比较后数组
03
新知讲解
活动步骤(第一轮)
29
37
第三次
不交换
10
15
29
37
14
2
30
第三次
比较后数组

15
10
29
37
14
2
30
第二次
比较后数组
03
新知讲解
活动步骤(第一轮)
37
14
第四次
交换
10
15
29
14
37
2
30
第四次
比较后数组

15
10
29
37
14
2
30
第三次
比较后数组
03
新知讲解
活动步骤(第一轮)
37
2
第五次
交换
10
15
29
14
2
37
30
第五次
比较后数组

15
10
29
14
37
2
30
第四次
比较后数组
03
新知讲解
活动步骤(第一轮)
37
30
第六次
交换
10
15
29
14
2
30
37
第六次
比较后数组

15
10
29
14
2
37
30
第五次
比较后数组
03
新知讲解
合作记录
第一轮 次数 比较元素 比较结果 比较后数组
1 29,10 29>10 交换 10,29,15,37,14,2,30
2 29,15 29>15 交换 10,15,29,37,14,2,30
3 29,37 29<37 不交换 10,15,29,37,14,2,30
4 37,14 37>14 交换 10,15,29,14,37,2,30
5 37,2 37>2 交换 10,15,29,14,2,37,30
6 37,30 37>30 交换 10,15,29,14,2,30,37
03
新知讲解
活动步骤(第一轮)
29
10
15
37
14
2
30
第一轮
排序数组
7个数据,第一轮就找到了最大的,还需要几轮才能把所有数字排好序呢....
03
新知讲解
初始数据 29 10 15 37 14 2 30
第一轮 10 15 29 14 2 30 37
第二轮 10 15 14 2 29 30 37
第三轮 10 14 2 15 29 30 37
第四轮
第五轮
第六轮
2
10
10
14
29
29
29
2
10
15
2
14
14
37
37
37
15
15
30
30
30
做一做
请照样子完成后面几轮排序。
03
新知讲解
轮次 比较次数
第一轮 6
第二轮 5
第三轮 4
第四轮 3
第五轮 2
第六轮 1
每一轮比较的次数有什么规律呢?
总结规律:比较次数是以差值为1逐轮递减,这可以作为循环控制判断的条件。
探究二:冒泡排序的规律
03
新知讲解
第一轮排序
排序结果
图中第二轮排序是否还需要进行第二次比较,为什么?
第一次比较
64
第二次比较
排序结果
第二轮排序
第一次比较
排序结果
52
45

64
52
45
52
64
45

52
45
64
52
45

64
64
52
45
想一想
03
新知讲解
比较次数:每一轮的比较次数会比上一轮减少1次。
轮次规律:n个数据,需要进行n-1轮排序。
规律总结
03
新知讲解
二、算法的表达形式
自然语言描述冒泡排序算法:
第1步:比较相邻的两个数,如果第一个比第二个大,就交换位置。对每一对相邻数进行同样的操作,从开始两个数到最后两个数。操作后,排在最后面的数就是最大数。
第2步:除了已排序的数,重复第1步的操作,对其余数进行比较与交换,直到没有任何一对数需要交换位置。
03
新知讲解
观察简易流程图,理解逻辑
输入
原始数据
比较
相邻元素比较
交换
逆序则交换
输出
排序后数据
03
新知讲解
第一步:先比较 A 和 B 的大小,如果 A > B,就交换 A 和 B 的值,确保 A ≤ B。
这一步是让较小的数“浮”到前面,较大的数“沉”到后面。
请根据下面的流程图用自然语言描述冒泡排序的过程。
第二步:接着比较 B 和 C 的大小,如果 B > C,就交换 B 和 C 的值,确保 B ≤ C。
这一步把三个数里最大的数送到了 C 的位置。
第三步:最后再比较一次 A 和 B 的大小,如果 A > B,就交换 A 和 B 的值,确保 A ≤ B。
这一步是为了保证前两个数也按顺序排列,最终得到 A ≤ B ≤ C 的有序序列。
04
课堂练习
小组讨论:如果对五个数进行冒泡排序,需要进行几轮排序?尝试推演一下算法并完成教材”议一议“的流程图吧。
推演过程:对五个数(A, B, C, D, E)进行冒泡排序,需要进行 4轮 排序。
第一轮:依次比较 A与B、B与C、C与D、D与E,每次比较后若前数大于后数则交换,将最大数“冒”到 E 位置。
第二轮:依次比较 A与B、B与C、C与D,将第二大数“冒”到 D 位置。
第三轮:依次比较 A与B、B与C,将第三大数“冒”到 C 位置。
第四轮:比较 A与B,将第四大数“冒”到 B 位置,A 即为最小数。
当有10个数甚至更多的数字时,反复比较、交换,是一件很麻烦的事情,而且这种方法显得很 “笨”。
05
拓展延伸
在前面的游戏中,有的同学产生了一些疑问,认为随便看到哪两个数需要交换的,就选中交换好了,不需要按照规律,也挺快的。
你是否也有类似的想法呢?
冒泡排序的优点在于,某一轮没有发生交换,说明已经有序,就可以提前结束循环。
05
拓展延伸
在利用算法指导计算机解決问题时,应确保所选方法与计算机的性能特性相契合。将问题抽象化并实现问题求解过程的白动化,构成了计算机解決问题的核心策略。这要求我们将待解决的问题转化为可由循环结构自动执行的运算步骤,以实现高效的处理。
三、验证冒泡排序的程序
利用算法让计算机解決问题
05
拓展延伸
1. 算法为计算机解決问题提供了明确的求解步骤
依据算法,我们可以将复杂的问题分解为一系列简单、可执行的步骤,从而确保计算机能够按照预定的要求和顺序进行处理。
2. 算法是实现自动化和智能化的基础
通过算法控制,计算机可以自动地执行任务、处理大量的数据、依据判断条件进行決策等,提高了解決问题的智能化水平。
三、验证冒泡排序的程序
在用计算机解决问题时,算法起到了重要的作用
05
拓展延伸
3.算法可以提高问题求解的质量和效率
不同的算法针对同一问题可以提供多样的解决路径。通过对比和分析这些算法的效能和输出,我们可以饰选出最有效的算法以优化问题解决。进一步地,恰当的算法选择能够精简计算机的存储和处理流程,减少计算负担和存储需求,进而提升算法的执行效率。
简而言之,算法是程序设计的校心,也是应对各类实际挑战的策略工具。在运用计算机解决问题时,应充分发择算法的作用,以实现问题求解的自动化和智能化。
三、验证冒泡排序的程序
05
拓展延伸
以壮壮团队当日的水果销售额数据为例,请同学们打开Scratch程序来验证算法。
1.创建一组数字列表。
三、验证冒泡排序的程序
待排序列表data:用于储存一组未排序的数字
输入数字,并逐一加入
到”待排序列表data“
05
拓展延伸
2.设定初始的对比次数为(列表项目数)-1。
三、验证冒泡排序的程序
列表data有7个数-1
第一轮对比次数6次
程序将从第一轮开始,那么先设置第一轮的次数,就是(待排序列表data项目数)-1次。
05
拓展延伸
3.以(每一轮对比的次数n)作为循环控制判断的条件。
三、验证冒泡排序的程序
05
拓展延伸
4.分析以(每一轮对比的次数n)作为循环的控制过程。
三、验证冒泡排序的程序
第一轮对比6次
05
拓展延伸
5.每一轮中找出最大值,并排序到末排序数字中的最后(上)位置。
三、验证冒泡排序的程序
每一轮开始的时候,i 从1开始
每一轮重复对比的次数,从第一 轮是5次开始
如果排较前面的数比较后面的数大,例如:第一个数大于第二个数
用变量“m〞 先把对比后较大数存储起来。即:先存储第一个数。
排较后面的数替换掉排较前面的数,即:第二个数替换成第一个数。
将上一步变量m存储的值赋值给排
较后面的数。把m的值给第二个数。
第一次比较后,接下来以2开始,即第二个数跟第三个数将开始对比,以此类推循环对比。
05
拓展延伸
6.输出结果
可以让角色(小猫)说出排好序之后的列表。
三、验证冒泡排序的程序
05
拓展延伸
将程序各部分汇总:
三、验证冒泡排序的程序
06
课堂总结
1
体验冒泡排序的过程
冒泡排序齐体验
2
冒泡排序的规律
3
算法的表达形式
4
完成课堂练习
5
进行相关知识拓展
1
2
3
4
5
07
板书设计
冒泡排序齐体验
1、核心原理:相邻比较,逐个冒泡
2、关键规律:n个数据,需要进行n-1轮
3、算法的两种表达
4、完成课堂练习
5、进行知识拓展
课后作业:
请上网查阅关于插入排序的基本思想,将序列“15,3,36,88,57”从小到大排成有序序列,并与同学说一说你的方法。
08
课后作业
★还有一种常见的排序方法叫插入排序。请上网查阅关于插入排序的基本思想,将序列“15,3,36,88,57”从小到大排成有序序列,并与同学说一说你的方法。
https://www.21cnjy.com/recruitment/home/fine

展开更多......

收起↑

资源列表