- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
冒泡排序新.doc
高一冒泡排序教学设计
一、教学目标
知识目标:掌握冒泡排序的原理;理解冒泡排序的流程图;编写冒泡排序的主要代码;
能力目标:学会使用冒泡排序思想设计解决简单排序问题的算法;进一步理解程序设计的基本方法,体会程序设计在现实中的作用;
情感目标:培养学生分析问题、发现规律的能力,激发学生学习热情;培养良好的程序书写习惯;
二、重点难点
重点:理解冒泡排序原理及它的流程图
难点:理解冒泡排序中的遍、次等概念(即对变量使用的理解)
三、教学策略与手段
采用讲解法、演示法、分析归纳法引导学生参与思考,用逐步求精的方式降低学生的理解难度,化抽象为具体,由特殊到一般,有效地突出重点突破难点。
四、课前准备
1.教师的教学准备:冒泡排序的课件
2.教学环境的设计与布置:多媒体网络教室、投影机、多媒体教学平台
五、教学过程
一、导入:创新情景
通过扑克牌的展示引入排序的概念
排序:通过调整位置,把杂乱无章的数据变为有序的数据。。
二、新课
排序的方法很多,这节课我们来学习其中一种比较典型的排序方法――冒泡排序。
冒泡排序的基本思想
一边讲解一边以文字形式给出冒泡排序的基本思想(书P31略)。特别要强调怎样算一遍处理,而且每遍总是从“最下面起”,“自下而上”,比较“相邻”两数。
2、画流程图(按非减次序排序)
这块内容是本节课的重点,采用自顶向下逐步求精的方式,由特殊到一般归纳总结,利用模块化,各个难点一一突破。
以5张扑克牌的排序为例,演示冒泡排序的逐个过程,再次强化学生对冒泡排序过程的理解。教师要书写每遍排序过程中两两比较的数、比较的次数、待排序的第一个数
小结排序过程:5张扑克牌总共进行了4轮排序。每轮排序冒起一个最小数,于是转化成右侧流程图。
流程图一
给出流程图一之后,教师可以让学生思考一下,这种结构实际上属于什么结构――循环结构。但是不规范的,我们需要用一个变量来控制循环次数,从而引出用变量i来记录正在执行的排序的遍数,它的值是从1到4,每次做完后加1。让学生回顾一下循环结构的流程图模式,两两学生讨论,合作将上面流程图转换成下面的流程图
思考:如果参与排序的是n个数呢?
比较遍数与个数关系:遍数=个数-1
流程图二(推广到n个数)
现在只剩下“不断两两比较交换”还需要进一步细化。如何进行不断两两比较交换?。
在程序中有些数据规律不是很明显,如果用表格来列一下,可以极大地提高数据分析的有效性和准确性,规律也更容易找出来。
引导学生发现规律:每次都是从最后面一个数开始比较,最后一个参与比较的数的下标与比较的遍数有关:遍数+1
思考:共n个数呢?
让学生讨论共n个数,各遍比较的情况,特别是第i遍,完成下表的填写:
第几遍 依次与它的前一个数进行比较的第一个数 依次与它的前一个数进行比较的最后一个数 共比较次数 第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) (n-n)+1=1 这里又需要用一个变量来标识正在参加比较的数组元素的下标,引进变量j:记录一遍处理过程中,当前数组元素下标。
小结论:共n个数,第i遍处理时,j的值从n到i+1之间递减,每次d(j)与它的前一个数d(j-1)进行比较。
流程图三(n个数) 不断两两比较交换
至此,所有问题、难点我们都全部细化,一一解决了,现在将流程图三“两两比较交换”纳入流程图二,即得下面的总流程图:
总流程图
当然别忘了说明一下这个总流程图各部分的作用,并留1分钟让学生自己消化一下。
总共数据比较了多少次?
总共数据交换了多少次?
4、流程图→程序语言
可以通过对两个变量和两数互换语句的解决,最终得到主要参考代码。
(1)i:记录正在执行的排序的遍数,由1变到n-1
我们学过的循环语句不外乎for…next和Do…Loop两种,这里已知循环次数的情况下,用for…next比较简单。
for i=1 to n-1
冒起一个最小数(循环体)
next i
(2)j:记录一遍处理过程中,当前数组元素下标,由n变到i+1
for j=n to i+1 step –1
d(j)与它的前一个数d(j-1)进行比较
next j
(3)d(j)与d(j-1)互换
k=d(j):d(j)=d(j-1):d(j-1)=k
对照总流程图,自上往下,写出主要参考代码:
for i=1 to n-1 i记录正在执行的排序的遍数,由1变到n-1
for j=n to i+1 step -1 j记录一遍处理过程中,当前数组元素下标,由n变到i+1
您可能关注的文档
最近下载
- 2025年中国猪肉脯市场调查研究报告.docx
- 部编版二年级语文课文填空汇总.doc VIP
- 国家工商行政管理总局通达商标服务中心招聘模拟备考预测(共1000题)综合模拟试卷+答案解析.docx
- 教科版小学科学知识点汇总.docx VIP
- 部编版二年级语文下册课文填空练习.pdf VIP
- 2025届THUSSAT北京市清华大学中学高考生物二模试卷含解析.doc VIP
- 《数学课程标准》义务教育2022年修订版(原版).pdf VIP
- 半中半理论_del35论数字心理.pdf VIP
- THUSSAT北京市清华大学中学2025届高三第二次调研化学试卷含解析.doc
- 浪荡子美学与跨文化现代性-中国文哲研究所.PDF
文档评论(0)