冒泡排序法教学设计.doc

上传人:b****3 文档编号:1777483 上传时间:2022-10-24 格式:DOC 页数:6 大小:101.50KB
下载 相关 举报
冒泡排序法教学设计.doc_第1页
第1页 / 共6页
冒泡排序法教学设计.doc_第2页
第2页 / 共6页
冒泡排序法教学设计.doc_第3页
第3页 / 共6页
冒泡排序法教学设计.doc_第4页
第4页 / 共6页
冒泡排序法教学设计.doc_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

冒泡排序法教学设计.doc

《冒泡排序法教学设计.doc》由会员分享,可在线阅读,更多相关《冒泡排序法教学设计.doc(6页珍藏版)》请在冰豆网上搜索。

冒泡排序法教学设计.doc

6

《冒泡排序法》教学设计

一.教材分析

本节内容选自浙江教育出版社《算法与程序设计》第五章第三节。

本节课主要讲解冒泡排序思想、算法以及编程思路,下节课让学生进行上机实践。

排序算法是使用频率最高的算法之一,而冒泡排序是其中一种很典型而且相对简单的方法。

它的学习同时为后面的选择排序做了铺垫。

通过冒泡实例的学习,可以提高学生的程序设计能力,为今后在算法与程序设计方面的进一步研究和学习打下基础。

二.学习者分析

通过一段时间的学习,同学们已经了解了程序设计的基本知识,掌握了数组、循环语句等C语言基础知识,具备了一定的编程能力和编程思想。

这个阶段的学生,思想活跃,学会了利用自然语言和流程图描述解决问题的算法,对排序中碰到的循环结构的流程图和循环语句以及数组变量的使用方法都已有基础。

但由于实践比较少,对以前知识的遗忘率比较高,程序设计思想比较弱。

因此由浅入深,逐步引导比较适合学生的学习特征。

三.教学目标

1.知识目标:

(1)掌握冒泡排序的原理,能读懂冒泡排序的算法;

(2)掌握冒泡排序法的基本过程,理解冒泡排序法的C语言程序;

2.能力目标:

(1)学会使用冒泡排序思想设计解决简单排序问题的算法;

(2)进一步理解程序设计的基本方法,体会程序设计在现实中的作用;

3.情感目标:

培养学生分析问题、发现规律、解决问题的能力;培养学生良好的程序书写习惯;

四.教学重难点

教学重点:

冒泡排序法的基本思想和实现过程。

教学难点:

用C语言编写冒泡排序法的程序、冒泡排序的思想。

五.教学方法与策略

本节课将采用讲解法、演示法、讨论合作、分析归纳法引导学生参与思考,用逐步求精的方式降低学生的理解难度,化抽象为具体,由特殊到一般,有效地突出重点突破难点。

六.教学资源

教材、扑克牌、黑板等。

七.教学过程

教学环节

教师活动

学生活动

设计意图

时间

创设情境,导入新课

情景案例:

扑克,排序

教师:

拿出五张不同数字的扑克,贴在黑板上,让同学们进行排序;

(同学们排序很快,但是当数据多时会很麻烦,效率很低)

思考:

如何让计算机进行排序?

【导入让计算机排序的方法】

跟随教师思路,进入情景

思考问题

导入学习情景

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},对数据按从小到大的顺序进行排序。

排序过程:

趟数

数据

第一趟

8985647296

第二趟

8564728996

第三趟

6472858996

第四趟

6472858996

(2)提出思考问题,并请同学回答:

问题:

5个元素,排序进行趟;每趟比较次数?

n个元素,排序进行趟;每趟比较次数?

5.编写C语言程序

思考问题:

如何将算法实现为程序?

教师:

引导学生思考排序过程如何用C语言实现。

需要完成的工作:

数据存放?

——数组inta[5];

ƒ交换数据?

——判断用if语句,设临时中间变量tmp;

‚循环?

——两层循环,用for语句,for(inti=0;i<4;i++);for(intj=0;j<4-i;j++);

}

理解思考

思考并回答问题

思考问题

和教师一起回顾观察排序过程

引导学生认识冒泡排序法

使学生熟悉冒泡排序过程

分解问题、逐步写出C语言程序

3分钟

4.5分钟

4分钟

2分钟

3分钟

课堂小结

要点总结:

1.冒泡排序法原理

2.冒泡排序的算法

3.冒泡排序法C语言程序思想

思考回顾

课堂重点内容回顾

1分钟

布置作业

作业:

(1)理解冒泡排序程序,尝试独立写出完整程序;

(2)做书上5.3课后习题;

完成作业

扩展思维、巩固提高

八.教学评价

学生学习效果评价表

评价内容

完成体现

水平

不能

勉强

可以

课堂行为表现评价

1、是否认真听讲、不溜号?

2、是否积极参与课堂发言、讨论?

知识掌握水平评价

1、是否理解冒泡排序的原理?

2、能否读懂冒泡排序的算法?

3、能否独立完成对数据的冒泡排序?

4、编程思路是否清晰?

作业完成情况评价

1、是否能在教师提示下完成冒泡排序程序的编写?

2、是否能独立完成作业?

学习反思

九.教学流程图

开始

导入新课:

扑克排序

参与思考

思考记录

讲解冒泡排序原理,板书原理

讲解冒泡排序法算法,板书

思考理解

思考理解

由例题演示冒泡排序过程

思考讨论:

5个元素及n个是的排序趟数以及每趟的比较次数;

提问,总结

思考

教师辅导

引导学生思考如何编写C语言程序

总结学习内容

布置作业

结束

十.板书设计

例1有一组数据{85,72,96,64,89}.,要求进行

冒泡排序

第一趟

8985647296

第二趟

8564728996

第三趟

6472858996

第四趟

6472858996

三、C语言程序

数据存放?

——数组inta[5]

ƒ交换数据?

——判断用if语句,设临时中间变量tmp

‚循环?

——两层循环,

for(inti=0;i<4;i++);

for(intj=0;j<4-j;j++)

冒泡排序法

比较次数

4

3

2

1

一、原理

【原理】

二、算法

【算法】

6

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1