内容正文:
4.4.3循环嵌套的应用(冒泡排序)
一、教学目标
1.技能目标
掌握 python 语言编程中在循环结构中嵌套循环结构。
2.知识目标
(1) 冒泡排序算法。
(2) 交换代码的写法。
(3) 正确用代码来编写冒泡排序算法。
3.素养目标
培养学生分析问题及用代码解决问题的能力。
二、重点难点
1.重点:(1)冒泡排序算法
(2)循环嵌套结构的使用
2.难点:(1)对冒泡排序算法的理解
(2)外循环、内循环不同功能的理解
三、教学时间
本任务教学计划用 1 课时,属循环嵌套内容教学总第 2 课时。
四、教学过程
教学环节
教学内容
复习导入
回顾循环嵌套的语句结构。
新课内容,任务驱动:
【例 3】请对数列[23,12,9,15,6]中的元素按照从小到大的顺序进行排列。程
序运行结果如下图所示:
引入新知:
将一组杂乱的数据变成一列有序的数据称为排序。从小到大的顺序排列称为升
序,从大到小的顺序排列称为降序。
排序最常用算法—冒泡排序
一) 冒泡排序基本思想:将要排序的元素看作是一个“气泡”,最
小(或最大)的“气泡”最快浮出水面,排在前面。较小(或
较大)的“气泡”排在第二个位置,以此类推。
教学设计 循环结构之循环嵌套
二) 冒泡算法排序方法:通过将相邻的元素进行比较和交换,逐步
将一个无序序列排列为一个有序序列。
三)冒泡排序算法实现
(讲解)
分析:一共 5 个元素的数列进行排序,用冒泡算法需要进行 4 趟比较:
第一趟:比较 4 次
第二趟:比较 3 次
第三趟:比较 2 次
第四趟:比较 1 次
四) 变量交换的方法:
1)常规方法:引入第三个临时变量
t=a
a=b
b=t
2)
2)简便方法:
a,b=b,a
五)用 python 语言编写代码
(讲解编写)
a=[6,9,12,15,23]
n=len(a)
for i in range(0,n-1):
for j in range(0,n-i-1):
if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
print("排序后的数组:",a)
归纳总结
主要掌握冒泡排序的算法实现及 python 语言循环嵌套代码编写。
评价练习
(习题)
练习思考题
五、学习巩固
布置课后作业。
学科网(北京)股份有限公司
$$