冒泡排序教案1.docxVIP

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

冒泡排序教案教学目标知识目标:掌握冒泡排序的原理;理解冒泡排序的流程图;编写冒泡排序的主要代码;能力目标:学会使用冒泡排序思想设计解决简单排序问题的算法;进一步理解程序设计的基本方法,体会程序设计在现实中的作用;情感目标:培养学生分析问题、发现规律的能力,激发学生学习热情;培养良好的程序书写习惯;二、重点难点            重点:理解冒泡排序原理及它的流程图难点:理解冒泡排序中的遍、次等概念(即对变量使用的理解)三、教学策略与手段采用讲解法、演示法、分析归纳法,图示讲解法引导学生参与思考,用逐步求精的方式降低学生的理解难度,化抽象为具体,由特殊到一般,有效地突出重点突破难点。四、课前准备1.教师的教学准备:冒泡排序的课件2.教学环境的设计与布置:多媒体网络教室、投影机、多媒体教学平台五.教学过程新课导入:大家平时都玩过扑克牌吧,那我们在摸完牌之后是不是会将手中杂乱无章的牌按自己的习惯整理有序。像这样把杂乱无章的数据变成有序的数据的过程,我们就称之为排序。那排序的方式有很多种,今天我们就来学习其中的一种:冒泡排序。首先让我们来看一下什么叫冒泡排序呢?那由如何实现将较小的数从下而上进行推移呢?学生思考一会,教师给出答案。 一.以5张扑克牌为例,讲解冒泡排序过程: 通过PPT演示冒泡过程,理解冒泡思想。强调每一遍加工过程是怎样的,而且每遍总是从“最下面起”,“自下而上”,比较“相邻”两数。二.流程图的讲解:采取启发式教学方法,引导学生一步步完善流程图。 1).5张扑克牌的流程图: 总结冒泡排序的过程,并转换成图表的形式。 给出基本的流程图。A).引进变量i:观察这个流程图我们发现他其实是一个循环结构。我们知道循环结构是需要一个变量来控制循环次数的。我们来看一下上面的这张表格,我们发现循环的次数就是排序的遍数。那我们可以将遍数记为i.i是从1到4依次变化的,每次排序后i=i+1.那么根据之前学过的流程模式,我们就可以将流程图进一步完善成如下图所示这张流程图就只剩下冒起一个最小数没表示出来了。经过刚才的冒泡演示,我们知道冒起一个最小数,是通过两两之间不断比较产生的。那我们回到之前的列表,来观察下两两比较存在什么规律呢? B).引导学生发现规律,引进变量j:每次都是从最后面一个数开始比较,最后一个参与比较的数的下标与比较的遍数有关:遍数+1。我们把正在参加比较的数组元素用一个变量 j 来标识他们的下标。小结论:共5个数,第i遍处理时,j的值从5到i+1之间递减,每次d(j)与它的前一个数d(j-1)进行比较。比较结束后j=j-1.所以我们发现他也是一个FOR循环结构。 C). 得出流程图:将两张流程图合并,说明j=i+1时,一轮冒泡结束。这时候进行下一轮,也就是i=i+1.对i=i+1指向2).一般情况下的流程图:类比5张扑克牌时的图表,画出n张时的图表。通过图表和上5张扑克牌时的流程图,引导学生自己思考N张扑克牌时的流程图。第几遍依次与它的前一个数进行比较的第一个数依次与它的前一个数进行比较的最后一个数共比较次数第1遍d(n)d(2)(n-2)+1=n-1第2遍d(n)d(3)(n-3)+1=n-2……………………第i遍d(n)d(i+1)(n-(i+1))+1=n-i……………………第n-1遍d(n)d(n)三).算法讲解:1). 产生随机数算法:那我们已经将冒泡排序流程图画出来了,那算法应该怎么表示呢?利用计算机对数组进行冒泡排序前,我们需要先让程序随机产生一组数据。随机 产生数据的语句是Rnd(),他产生的是【0,1)的四位小数的随机数字。那如果我需要产生【0,10)的随机数应该怎么写呢?我们将这组数记为a(i).如果是5个【0,10】之间的随机整数呢 ?引入语句a(i)=Int(Rnd()*10+1)我们知道i是从1依次增加到5的,每次数字产生之后i=i+1.所以这是一个循环语句。我们之前学的循环语句无外乎FOR与DO WHILE两种。这里我们知道了循环次数,所以就用FOR 语句。For i = 1 to 5 A(I)= int (Rnd()*10+10)Next i 那么我们知道程序是利用变量来储存数据的。所以在开始之前,我们需要先声明下变量。(回顾知识点变量的作用)冒泡算法:.5个数字排序的冒泡算法:根据流程图,依次先却确定两FOR循环语句。通过两两比较冒泡,回顾之前所学的知识“两两比较需要利用到第三者”和IF语句,给出算法语句。B).n个数字排序的冒泡算法:学生自己思考。

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档