网站大量收购独家精品文档,联系QQ:2885784924

5.3.1 数据排序-学习任务单.docxVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

学习任务单

课程基本信息

学科

信息技术

年级

高二

学期

春季

课题

5.3数据排序(一)——冒泡排序

学习目标

1.能理解冒泡排序的算法思想。

2.能合理选用数据结构,理清冒泡排序的范围与条件。

3.能用自然语言、流程图、Python语言描述冒泡排序算法。

4.能分析冒泡排序次数、比较次数和交换次数。

5.能掌握优化冒泡排序方法。

课前学习任务

1.体验生活、学习中的排序任务。

课上学习任务

【学习任务一】

体验Pyhton函数

一、列表自带的sort方法:只适用于列表,直接对列表进行排序,不会产生新的序列

二、内建函数sorted方法:返回一个新的序列,原来的序列依然存在

【学习任务二】

用Python语言编写从前往后升序的冒泡排序程序并调试

【学习任务三】填一填

1.从前往后冒泡的升序排列

d=[5,3,7,8,1,9,2,6]

n=len(d)

i=0

whilein-1:

j=0

while:

ifd[j]d[j+1]:

d[j],d[j+1]=d[j+1],d[j]

j+=1

i+=1

print(“排序后的列表”,d)

2.从前往后冒泡的降序排列

d=[5,3,7,8,1,9,2,6]

n=len(d)

foriinrange(n-1):

forjinrange(n-i-1):

if:

d[j],d[j+1]=d[j+1],d[j]

print(“排序后的列表”,d)

【学习任务四】用Python语言编写从后往前升序的冒泡排序程序并调试

【学习任务五】填一填

1.从后往前冒泡的降序排列

d=[5,3,7,8,1,9,2,6]

print(排序前的列表:,d)

n=len(d)

i=0

whilein-1:

whileji-1:

ifd[j]d[j+1]:

d[j],d[j+1]=d[j+1],d[j]

j-=1

i+=1

print(“排序后的列表:”,d)

2.从后往前冒泡的升序排列

d=[5,3,7,8,1,9,2,6]

n=len(d)

foriinrange(n-1):

forjinrange():

ifd[j]d[j+1]:

d[j],d[j+1]=d[j+1],d[j]

print(“排序后的列表”,d)

【学习任务六】

(1)

d=[5,3,7,8,1,9,2,6]

print(原来列表,d)

n=len(d);i=0;c=0;flag=True#flag变量

whilein-1andflag==True:#flag变量

forjinrange(n-i-1):#从前往后冒

c=c+1

ifd[j]d[j+1]:

d[j],d[j+1]=d[j+1],d[j]

flag=True#flag变量

i=i+1

print(排序后的列表,d)

print(从前往后冒泡排序趟数:,i,,比较次数,c)

(2)

a=[5,10,15,78,16,7,37,25]

;n=len(a);num=0#num排序遍数

flag=True

whileflag==True:

flag=False

forjinrange(n-1,last,-1):#从后往前冒

ifa[j]a[j-1]:

t=a[j];a[j]=a[j-1];a[j-1]=t

flag=True

num=num+1

iflast==n-1:break

print(排序后的数列为:,a)

print(冒泡排序过程的加工遍数为:,num)

(3)

importrandom#双向冒泡升序

n=10;a=[0]*n

fori

文档评论(0)

中小学教学资料 + 关注
实名认证
服务提供商

提供小学、初中、高中信息科技教案、试卷、课件等优质教学资源

1亿VIP精品文档

相关文档