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


本文标签: 学生 排序 过程 变量 算法