内容正文:
5.2迭代与递归 导学案
学科
高中信息技术
教材版本
浙教版2019选修1
课题
5.2迭代与递归
一、【学习目标】
1.理解冒泡排序的算法思想。(重点)(学科核心素养:信息意识、计算思维)
2.合理选用数据结构,理清冒泡排序的范围与条件。(学科核心素养:信息意识、计算思维)
3.能用自然语言、流程图、Python语言描述冒泡排序算法。(难点)(学科核心素养:信息意识、计算思维)
二、【自主探究】
任务一:学生自主学习课本,完成下列题目:
1.冒泡排序(Bubble Sort)是在一系列数据中对 依次进行比较和调整,让较大的数“下沉(上冒)”,较小的数“上冒(下沉)”的一种排序技术。
2.常见的排序算法还有 、插入排序、 、堆排序、归并排序、桶排序等。
任务二:在数据为:178,172,183,169,173的情况下:
请完整写出这5个数据冒泡排序每一遍加工的结果
请计算这5个数据在冒泡排序时的比较次数和交换次数
for i in range(1,len(d)):
for j in range(0,len(d)-i):
d[j]>d[j+1]:
d[j],d[j+1]=d[j+1],d[j]
任务三:(1)若希望从大到小排序,程序应如何修改?
(2)若从后往前实现冒泡,程序应如何修改?
3、 课后练习题
1. 某场篮球联赛中,有5个班级的比赛积分依次为14,11,13,8,9。若 采用冒泡排序算法从右到左对其进行升序排序,则第二轮排序后的结果是 ( )
A.8,11,13,14,9
B.8,9,13,14,11
C.8,9,14,11,13
D. 14,13,11,9,8
2. 采用冒泡排序算法对数据序列18,13,15,2,1,20进行排序,第一轮 排序后的结果为20,18,13,15,2,1,则完成整个序列的排序需要进 行数据交换的次数总共是 ( )
A.6 B.7 C.8 D.9
3. 对“842715”中的数字进行选择排序中的两遍“加工”即为某密码锁 的密码,则该密码可能是 ( )
A.842715
B.142785
C.872415
D.124578
4.某 Python程序如下:
a=[3,1,9,7,6,3]
n=len(a)
for i in range(1,n):
for j in range(n-2,i-2,- 1):
if a[jka[j+1]:
a[j],a[j+1]=a[j+1],a[j]
程序运行后,数组a的值是
A.[9,3,1,7,6,3]
B.[9,7,6,3,3,1]
C.[1,3,3,9,7,6]
D.[1,3,3,6,7,9]
5. 某 Python 程序如下:
def bubble sort(L):
length=len(L)
for iin range(1,3):
for j in range(length- 1,i- 1,- 1):
if L[j]<L[j- 1}:
L[j],L[j- 1]=L[j- 1],L[j]
a=[6,8,2,4,3,7]
bubble sort(a)
print(a)
程序运行后,输出的结果是
A.[2,3,4,6,7,8]
B.[8,7,6,4,3,2]
C.[2,3,4,6,8,7]
D.[2,3,6,8,4,7]
课后练习答案
1
2
3
4
5
C
A
C
B
D
原创精品资源学科网独家享有版权,侵权必究!6
学科网(北京)股份有限公司
$$