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

3.4对数据前进排序.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.4对数据前进排序

对数据进行排序 教材分析 本节课内容为第三章第四节“对数据进行排序”。冒泡法排序算法是程序设计中的重要算法,又不容易理解,因此本节课通过多种方式加深学生对冒泡法排序算法的理解。 学情分析 学生学习了程序设计的三种结构,掌握了数组的概念和应用,理解了解析法和穷举法两个典型算法,这些都为学习冒泡法排序的算法奠定了基础。 教学目标 1、知识和技能 (1)理解冒泡法排序算法思想。 (2)学会用冒泡法对数据排序。 2、过程和方法 通过观察动画演示,思考相关问题,分析算法,画流程图,上机编程实践,掌握冒泡法排序算法的思想和应用。 3、情感态度与价值观 (1)培养学生的逻辑思维能力,使学生体会将自己的逻辑思维与计算机程序设计相结合的过程。 (2)培养学生对程序设计的兴趣和设计程序解决实际问题的能力。 教学重点·难点 重点:(1)冒泡法排序原理。(2)运用冒泡法排序解决实际问题。 难点:(1)理解冒泡法排序中的趟、次等概念。(2)算法的优化。 教学方法 教法:演示法、讲授法、启发 学法:实践、协作、自主探究。 教学过程 创设情境,导入新课 1、观看动画:王小丫主持的“开心辞典”栏目中有一道题是观看录像,然后根据录像内容回答问题。下面也请同学们观察动画演示过程,然后回答问题。 2、师生问答: 师:这个动画描述了什么问题? 生:把一组数按从小到大的顺序进行排列。 师:采用什么样的方法? 生:相邻两个数两两比较,小的放到前面,大的放到后面。 师:第一趟比较多少次?第二趟比较多少次?一共比较了几趟? 生:第一趟比较9次,第二趟比较8次,依此类推,最后一趟比较1次,一共比较9趟。 师:动画中是对10个数从小到大进行排序,如果对n个数进行排序呢? 生:第一趟比较n-1次,第二趟比较n-2次,依此类推,最后一趟比较1次,一共比较n-1趟。 师:这就是排序方法中比较典型的冒泡法排序。这节课将学习冒泡法排序原理,并运用冒泡法排序解决实际问题。 启发思考 ,实践探究 1、让学生通过分析和思考,总结出冒泡法排序算法的思想。 2、根据学生总结的结果,教师再次进行补充完善冒泡法排序算法的思想。 基本思想:将相邻两个数比较,小的交换到前面,大的交换到后面。具体过程如下: 将n个数按从小到大顺序进行排序,第一趟将相邻两个数比较,小的交换到前面,大的交换到后面,经n-1次比较后,最大的数被交换到最后一个位置。 第二趟对余下的n-1个数按上面方法比较交换,经n-2次比较后将次大的数放在倒数第二个位置。 依次类推,n个数共进行n-1趟比较,在第j趟中要进行n-j次两两比较。 由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称冒泡法排序。 3、教师继续提出问题:如何用程序来进行排序? 4、和学生一起分析:用双重循环实现,外循环变量设为i,内循环变量设为j,外循环重复9次,内循环依次重复9,8,...,1次。每次进行比较的两个元素可以分别用a(j-1)和a(j)表示,i的值依次为1,2,...,9趟,对于每一个I 趟, j的值依次为10-I 次。 具体算法如下: 输入10个数到数组中。 从小到大把数组中的变量进行排序。 for i=1 to 9 for j=i+1 to 10 if a(j-1)a(j) then 交换(j-1)和a(j) (3)输出排序后的数组。 5、和学生一起画出算法的流程图。 6、让学生根据算法编写VB代码来解决将10个数按从小到大的顺序进行排序问题。 7、教师对学生的编程情况进行点评,并要求学生修改代码,将10个数按从大到小的顺序进行排序。 拓展加深,优化程序 1、教师再次让学生观察“冒泡法排序”的动画演示,继续提出问题:在动画中可以看出,第四趟排序结束,所有数据的顺序就满足从小到大的规则,按理说,此时可以停止比较,可是程序依然要比较完9趟才结束,只是不再需要交换。请同学们修改程序如何在满足排序规则后就终止比较? 2、在学生思考后,教师提示:引入一个布尔型变量flag,在每趟排序开始前,先将其置为False。若排序过程中发生了交换,则将其置为True,结束时检查flag,如果没有进行交换则终止比较,不再进行下一趟排序。 归纳总结,巩固知识 3、请学生复述冒泡法排序算法思想。 4、和学生一起再次归纳冒泡法排序算法的实现过程: (1)通过不同方法输入n个数。 (2)实现排序的过程: For i=1 TO n-1 ‘外循环控制排序趟数为 (n-1)趟 For j= i+1 TO n ‘内循环控制当前趟排序次数 (n-i)次 If a(j-1)a(j) then ‘交换位置 temp=a(j) a(j)=a(j-1) a(j-1)=temp end if Next j Next i (3)采用不同的方法输出数组中排好序的n个数。 5

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档