admin 管理员组文章数量: 1184232
2024年3月27日发(作者:逻辑运算符并含)
冒泡排序教学设计
班级:高一一班 授课教师:袁海军
一、
教案背景
模块:算法与程序设计 班级:高一(1)班 课时数:1课时
所用教材:华师大版《算法与程序设计》 教 师:袁海军
二、
教学设计
1.教学目标
知识与技能:掌握冒泡排序的原理;理解冒泡排序的流程图;学会使用冒泡排序思想设
计解决简单排序问题的算法;
过程与方法:进一步理解程序设计的基本方法,体会程序设计在现实中的作用;
情感态度与价值观:培养学生分析问题、发现规律的能力,激发学生学习热情。培养学
生联系生活中的算法。
2.教学材料分析
本节是高一信息学科选学模块一《算法和程序设计》部分算法实例章节的排序部分。大纲
对冒泡排序部分的要求是“理解/学会冒泡排序的原理和算法”。可见还是比较重要的章节。但
是,教材关于排序的讲解不够生动详尽,学生理解起来有些困难。
教学重点:理解冒泡排序原理及它的流程图;
教学难点:理解冒泡排序中的遍、次等概念(即对变量使用的理解);内层循环元素下
标的范围;
3.学情分析:
本课程开设对象为本校高一年级学生,在平时的教学过程中我发现,他们对算法部分的相
关知识掌握的程度相对较低,学习过程中很容易产生挫败感,因此,我在本次教学过程中注重
由浅入深的逻辑,以便他们更好的掌握相关知识。
4.教学策略设计
采用讲解法、演示法、分析归纳法引导学生思考,并设计游戏活动让学生参与。对于重点
和难点,化抽象为具体,由特殊到一般,使学生更好的掌握。
三、
教学过程
(一)导入:创新情景(1分钟)
通过扑克牌的展示引入排序的概念。
排序:通过调整位置,把杂乱无章的数据变为有序的数据。
(二)新课
为了方便排序,我们将这些无序的数据作为一个数组存放,比如数组a,里面有5个元素。
排序的方法很多,这节课我们来学习其中一种比较典型的排序方法――冒泡排序。(1分钟)
1.冒泡排序的基本思想(4分钟)
一边讲解一边以文字形式给出冒泡排序的基本思想:把较小的数逐次向上推移的一种排序
技术,强调从最后一个元素起,依次比较相邻的两个元素中的数,将较小的数调换到上面。“所
1
有相邻两个数据比较完一次,就算一遍冒泡。下面我们以5张扑克牌的排序为例,给大家演示
冒泡排序的原理和过程。”
设计意图:通过扑克牌引入,有利于消除学生对于枯燥的算法的芥蒂。用动画演示冒泡排
序的逐个过程,可以强化学生对冒泡排序过程的理解。
2. 学生游戏(用冒泡排序方法)(8分钟)
以竖排为单位,每一小组成员各得到一张扑克,按照冒泡排序的思想进行排序。教师给与
简单的指导。完成后抽查某一小组的结果,让他们顺次念出自己扑克牌的点数。
设计意图:学生体验,每一位学生都有机会参与,可以加深对冒泡排序原理的理解。
3.即时练习(2分钟)
下面请同学们对3、1、5、9、4五个数字进行冒泡排序,请问第二遍冒泡后的结果是?
设计意图:及时强化并获取学生掌握情况。
4.总结规律(3分钟)
经过刚才的实践,动脑思考,和教师一起完成表一。
共5-1遍
第1遍
第2遍
第3遍
第4遍
第一次比较
d(5)和d(4)
d(5)和d(4)
d(5)和d(4)
d(5)和d(4)
最后一次比较
d(2)和d(1)
d(3)和d(2)
d(4)和d(3)
d(5)和d(4)(也是第1次)
表一 5个数据比较过程表
根据表格,推导出规律:n个数据进行冒泡排序,共需要n-1遍冒泡,第一遍冒泡需要比
较n-1次,第二遍为n-2次……第n-1遍需要1次,一共需要(n-1)+(n-2)+…+2+1=(n-1)[(n
-1)+1]/2=n(n-1)/2次。
5.画流程图(20分钟)
这块内容是本节课的重点,采用自顶向下逐步求精的方式,由特殊到一般归纳总结,利用
模块化,各个难点一一突破。
小结排序过程:5张扑克牌总共进行了4轮排序。每轮排序冒起一个最小数,于是转化成
流程图一。
共比较次数
4
3
2
1
2
给出流程图一之后,教师可以让学生思考一下,这种结构实际上属于什么结构――循环结
构。但是不规范的,我们需要用一个变量来控制循环次数,从而引出用变量i来记录正在执行
的排序的遍数,它的值是从1到4,每次做完后加1。让学生回顾一下循环结构的流程图模式,
学生在草稿纸上画出如下流程图(可讨论)。
思考:如果参与排序的是n个数呢?
比较遍数与个数关系:遍数=个数-1
流程图二(推广到n个数)
“冒起一个最小数”的做法实际上就是使所有数按照顺序不断两两比较(如需要,则交换),
那么可以将流程图修改为上图。
现在只剩下“不断两两比较交换”还需要进一步细化。如何进行不断两两比较交换?
3
再次回顾一下刚刚5个数的排序过程表一。(着重标注两两比较的开始的数据的下标)。
共5-1遍
第1遍
第2遍
第3遍
第4遍
第一次比较
d(5)和d(4)
d(5)和d(4)
d(5)和d(4)
d(5)和d(4)
最后一次比较
d(2)和d(1)
d(3)和d(2)
d(4)和d(3)
d(5)和d(4)(也是第1次)
共比较次数
4
3
2
1
引导学生发现规律:每次都是从最后面一个数开始比较,最后一个参与比较的数的下标与
比较的遍数有关:遍数+1
思考:共n个数呢?
让学生讨论共n个数,各遍比较的情况,特别是第i遍,完成下表的填写:
共n-1遍
第1遍
第2遍
……
第
i
遍
……
第n-1遍
第一次比较
d(n)和d(n-1)
d(n)和d(n-1)
……
d(n)和d(n-1)
……
d(n)和d(n-1)
最后一次比较
d(2)和d(1)
d(3)和d(2)
……
d(i+1)和d(i)
……
d(n)和d(n-1)(也是第1次)
共比较次数
n-1
n-2
……
n-i
……
1
这里又需要用一个变量来标识正在参加比较的数组元素的下标,引进变量j:记录一遍处
理过程中,当前数组元素下标。
小结论:共n个数,第i遍处理时,j的值从n到i+1之间递减,每次d(j)与它的前一个数d
(j-1)进行比较。
流程图三(n个数) 不断两两比较交换
至此,所有问题、难点我们都全部细化,现在将流程图三“两两比较交换”纳入流程图二,
即得下面的总流程图:
4
n:参加排序的数组元素
总个数
i:记录正在执行的排序
的遍数,由1变到n-1
j:记录一遍处理过程中,
当前数组元素下标,由
n变到i+1
说明:虚线框部分即为第i
遍处理时“不断两两比较
交换”的流程图
解释说明各变量的含义,并留1分钟让学生自己消化吸收。
关于交换,可以通过现实生活中的实例(酱油和醋的互换)作为启发,引入一个新的变量
进行。
6.课后小结(2分钟)
总结冒泡排序的基本思想,归纳排序的遍数以及变量j与i的关系。
共n个数,第i遍处理时,j的值从n到i+1之间递减,每次d(j)与它的前一个数d(j-1)
进行比较。
7.课后作业。(1分钟)通过时事吸引学生的兴趣。
2013福布斯财富榜发布了,下表显
示了其中五位富豪及其资产(单位:亿
人民币)排名。请用冒泡排序对其资产
进行升序排列(从右至左)。
请写出排序过程。
5
版权声明:本文标题:VB算法-冒泡排序教案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1711519698a598066.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论