《冒泡排序法》教学
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
1.
教材
民兵爆破地雷教材pdf初中剪纸校本课程教材衍纸校本课程教材排球校本教材中国舞蹈家协会第四版四级教材
分析
本节内容选自浙江教育出版社《算法与程序设计》第五章第三节。本节课主要讲解冒泡排序思想、算法以及编程思路,下节课让学生进行上机实践。排序算法是使用频率最高的算法之一,而冒泡排序是其中一种很典型而且相对简单的
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
。它的学习同时为后面的选择排序做了铺垫。通过冒泡实例的学习,可以提高学生的程序设计能力,为今后在算法与程序设计方面的进一步研究和学习打下基础。
2.学习者分析
通过一段时间的学习,同学们已经了解了程序设计的基本知识,掌握了数组、循环语句等C语言基础知识,具备了一定的编程能力和编程思想。这个阶段的学生,思想活跃,学会了利用自然语言和流程图描述解决问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
的算法,对排序中碰到的循环结构的流程图和循环语句以及数组变量的使用方法都已有基础。但由于实践比较少,对以前知识的遗忘率比较高,程序设计思想比较弱。因此由浅入深,逐步引导比较适合学生的学习特征。
3.教学目标
1.知识目标:
(1)掌握冒泡排序的原理,能读懂冒泡排序的算法;
(2)掌握冒泡排序法的基本过程,理解冒泡排序法的C语言程序;
2.能力目标:
(1)学会使用冒泡排序思想设计解决简单排序问题的算法;
(2)进一步理解程序设计的基本方法,体会程序设计在现实中的作用;
3.情感目标:
培养学生分析问题、发现规律、解决问题的能力;培养学生良好的程序书写习惯;
4.教学重难点
教学重点:冒泡排序法的基本思想和实现过程。
教学难点:用C语言编写冒泡排序法的程序、冒泡排序的思想。
5.教学方法与策略
本节课将采用讲解法、演示法、讨论合作、分析归纳法引导学生参与思考,用逐步求精的方式降低学生的理解难度,化抽象为具体,由特殊到一般,有效地突出重点突破难点。
6.教学资源
教材、扑克牌、黑板等。
7.教学过程
教学环节
教师活动
学生活动
设计意图
时间
创设情境,导入新课
情景案例:扑克,排序
教师:拿出五张不同数字的扑克,贴在黑板上,让同学们进行排序;
(同学们排序很快,但是当数据多时会很麻烦,效率很低)
思考:如何让计算机进行排序?
【导入让计算机排序的方法】
跟随教师思路,进入情景
思考问题
导入学习情景
1分钟
讲授新课
1. 冒泡排序法
教师:它的名字非常生动形象,之所以称为冒泡排序因为它的原理与冒泡过程相似。这里的冒泡是一种排序思想,根据它还能衍生出很多种方法,今天学习一中最简单常用的,从前往后的冒泡排序。
2. 冒泡排序法原理
对原始数据,按从前往后的方向进行多次扫描(每次扫描称为一趟),当发现相邻两个数据的次序与排序要求的大小次序不符合时,就将这两个数据进行互换。
这样,较小的数据就会逐个向前移动,好像气泡向上浮起一样。
【教师板书原理】
3. 冒泡排序法算法
(1)首先比较第一个和第二个数据,将其中较小的数据放到第一个位置,较大的放到第二个位置;
(2)然后比较第二个和第三个数据,仍将较大放到后一个位置。依此类推,直到比较第n-1和第n个数据。(这样,就将待排序序列中的最大的一个放到了第n个数据,这个过程称为第一趟排序)
(3)面对前n-1个数据重复(1)(2)过程(不用考虑第n个数据,因为它已经是最大的了),又将次大的数据放到了第n-1个位置。重复这个过程,直到循环n-1次为止。
【教师板书算法,强调重点,引导学生理解冒泡思想】
4. 演示排序过程
(1) 以例题为例进行算法演示:
例题1:一组学生的成绩存放在数组a[]中,a[5]={96,89,85,64,72},对数据按从小到大的顺序进行排序。
排序过程:
趟数
数据
第一趟
89 85 64 72 96
第二趟
85 64 72 89 96
第三趟
64 72 85 89 96
第四趟
64 72 85 89 96
(2)提出思考问题,并请同学回答:
问题:5个元素,排序进行 趟;每趟比较次数?
n个元素,排序进行 趟;每趟比较次数?
5. 编写C语言程序
思考问题:如何将算法实现为程序?
教师:引导学生思考排序过程如何用C语言实现。需要完成的工作:
数据存放?——数组int a[5];
交换数据?——判断用if语句,设临时中间变量tmp;
循环?——两层循环,用for语句,for(int i=0;i<4;i++);for(int j=0;j<4-i;j++);
}
理解思考
思考并回答问题
思考问题
和教师一起回顾观察排序过程
引导学生认识冒泡排序法
使学生熟悉冒泡排序过程
分解问题、逐步写出C语言程序
3分钟
4.5分钟
4分钟
2分钟
3分钟
课堂小结
要点总结:
1. 冒泡排序法原理
2. 冒泡排序的算法
3. 冒泡排序法C语言程序思想
思考回顾
课堂重点内容回顾
1分钟
布置作业
作业:
(1)理解冒泡排序程序,尝试独立写出完整程序;
(2)做书上5.3课后习题;
完成作业
扩展思维、巩固提高
8.教学
评价
LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载
学生学习效果评价表
评价内容
完成体现
水平
不能
勉强
可以
课堂行为表现评价
1、是否认真听讲、不溜号?
2、是否积极参与课堂发言、讨论?
知识掌握水平评价
1、是否理解冒泡排序的原理?
2、能否读懂冒泡排序的算法?
3、能否独立完成对数据的冒泡排序?
4、编程思路是否清晰?
作业完成情况评价
1、是否能在教师提示下完成冒泡排序程序的编写?
2、是否能独立完成作业?
学习反思
9.教学流程图
10.板书设计
例1有一组数据{85,72,96,64,89}.,要求进行
冒泡排序
第一趟
89 85 64 72 96
第二趟
85 64 72 89 96
第三趟
64 72 85 89 96
第四趟
64 72 85 89 96
三、C语言程序
数据存放?——数组int a[5]
交换数据?——判断用if语句,设临时中间变量tmp
循环?——两层循环,
for(int i=0;i<4;i++);
for(int j=0;j<4-j;j++)
{
}
冒泡排序法
比较次数
4
3
2
1
1、原理
【原理】
2、算法
【算法】
继续阅读