高中信息技术_冒泡法排序算法教学设计学情分析教材分析课后反思
- 格式:doc
- 大小:23.78 KB
- 文档页数:7
《冒泡法排序算法》教学设计
作 者:
课 时:共2课时,本节为第1课时,理论课
【适用年级】高二年级
【所用教材】教科版《算法与程序设计》
【教学目标】
1、知识与技能 :
让学生了解排序及冒泡法排序的概念;掌握冒泡排序算法思想并学会用冒泡法对数据排序;初步掌握冒泡法排序的程序实现。
2、过程与方法:
通过对冒泡排序过程和程序实现过程的分析,初步掌握用冒泡排序法来解决简单的排序问题。
3、情感目标 :
通过对冒泡排序算法过程的分析,培养学生设计程序解决实际问题的能力,激发学生对程序设计的兴趣,形成积极主动学习信息技术的态度。
【教学重点】
1、冒泡法排序原理;2、运用冒泡法排序解决实际问题。
【教学难点】
1、理解冒泡法排序中的轮与次等概念;2、如何用程序实现冒泡法排序算法
【教学过程】
一、创设情境,导入新课
体验纸牌排序:先让一位同学上台将给定顺序的几张纸牌从小到大排列,完成后让其说一说进行排列的思路。象这种解决问题的方法和步骤就是今天我们要学习的内容:冒泡法排序算法,从而引入课题。
设计意图:从生活实际入手,让学生通过体验排序,谈思路,知道冒泡法排序算法离我们并不远,也并不神秘,从而接进与学生的距离。
二、展示学习目标
设计意图:让学生做到学习时心中有数。
三、新课开始
(一)、剖析课题,初识冒泡法排序算法
1、何谓算法?(回顾)
设计意图:对前面所学知识回顾, 进行情感教育,引导学生学习时只有温故知新,才能不断长进。
2、何谓排序?(自学)
设计意图:本知识比较简单,学生一看就懂,让学生共同回答,目的是给学生学习的信心,并让学生知道,排序在计算机编程中使用非常频繁,并且排序算法有多种,为后面学习做准备。
3、何谓冒泡法排序?(自学)
设计意图:讲之前先说明冒泡法排序在排序算法中的地位,是一种非常经典的排序算法,本知识也不难,学生一看就懂,也让学生共同回答,接着提出问题“如何将相邻元素进行比较和交换呢?”,让学生思考,从而转入下一个问题的学习。
(二)、冒泡法排序的思想(大声朗读) 1、冒泡法排序的思想: 从最下面(或最后面)一个元素(数据)开始,依次比较相邻的两个元素,较小的元素像气泡一样上浮,较大的元素下沉,第一轮找出最小值,第二轮找出次小值,依次类推……
直接展示给学生,并让学生大声朗读。
设计意图:直截了当给出,让学生知道这种思想的重要性,下面知识的展开也是在这种思想的指导下进行的;大声朗读的目的是为了加深印象,读后能基本掌握此概念。
体验冒泡法排序的过程:
例1:对数组a(1)到a(5)中的5个元素“7、10、6、5、9”进行冒泡排序。(师生共同分析完成)
第一轮冒泡情况:
第二轮冒泡情况:
第三轮冒泡情况:
第四轮冒泡情况:
设计意图:对冒泡法排序的思想进一步剖析,弄清排序过程中每一个细节,分清轮与次的区别。有了冒泡法排序的思想的指导,和对例题的分析,学生已经耐不住了,很想动手试一试。
试一试:分次数与轮数体验。
1、次数
第一轮第一次情况:
第一轮第二次情况:
第一轮第三次情况:
第一轮第四次情况:
2、轮数
第一轮排序后的结果:
第二轮排序后的结果:
第三轮排序后的结果:
第四轮排序后的结果:
设计意图:同学体验并结合教师动画展示,让学生进一步体会冒泡法排序的思想,强调次与轮的不同。
小结:教师引导学生总结结果,教师再次进行补充完善冒泡法排序算法的思想。
设计意图:有了上面的体验,询问学生对6个、7个元素排序又将怎样?n个元素排序又将怎样?再次进行情感教育,引导学生学习时要善于寻找规律,发现规律,得出规律,从而更快解决同类的问题。
思考:对于上面的方法和步骤,怎么编程实现呢?
设计意图:带着问题,进行下一个问题的学习。
(三)、冒泡法排序的程序实现(利用VB)
1、识读P58图3-13流程图,小组讨论后回答以下问题,代表发言。
(1)将图中n换成数字5,按流程执行每一步,直到结束,讲述全过程。
(2)在流程图中,实现数字大小的比较和交换时用到什么结构?在VB中用什么语句?
(3)在流程图中,哪里用到循环结构?在VB中用什么语句实现?两个循环之间什么关系,哪个有外面?
设计意图:本流程图比较复杂,不易读懂,安排小组合作学习,完成3个问题,问题完成了,程序的基本框架就有了。
2、程序实现(对数组a(4)中5个元素冒泡排序) 先让学生说出程序的基本框架,再结合流程图,确定内、外循环的变量,对代入的5个元素来说,确定变量的初值和终值,这样,冒泡法排序的程序段就有了。
设计意图:回顾算法描述中流程图描述、程序的基本结构中选择结构与循环结构,算法指导编程,顺理成章,前面知识得到了复习,后面的知识也眉目清晰了。
思考:
1、若数组a(4)变为a(1to5) ,那么外循环 for i= to ;
内循环for j= to
2、若数组包括n个元素,分别是 a(1)、 a(2) ……a(n) ,
那么外循环 for i= to ;内循环for j= to
3、若程序中“<”改为“>”,程序运行结果会有什么变化?
设计意图:进一步剖析冒泡法排序,让学生对程序段能透彻理解。
小结:引导学生总结规律,达到举一反三,触类旁通。
(四)、课堂小结
冒泡法排序:
1从 数据开始
2依次比较 数据
3把 的数据逐次向上推移
如果对有n个元素数组进行排序,则:
1要进行 轮冒泡
2第一轮冒泡要经过 次比较
3第二轮冒泡要经过 次比较
……
4第n-1轮冒泡要经过 次比较
设计意图:巩固知识
(五)课堂练习(略)
设计意图:检查知识掌握情况。
学情分析
第三章第四节《冒泡法排序算法》这节课理论性比较强,相对于前面章节的内容来说,虽然有些难度,但对于排序学生并不陌生,只是还没上升到理论层次,且学生前面又学习了算法及对算法的描述、程序设计的三种结构、数组的概念和应用、理解了解析法和穷举法两个典型算法,这些都为学习冒泡法排序算法奠定了基础,所以“冒泡法排序”流程图读起来虽然有些难度,但学生还是能读懂的,能读懂流程图,实现程序也就不成问题。
评测效果:
针对合格考而言,《算法与程序设计》考查方式是选择与填空。本节课题目是这样设置的:5个题目分别从不同的角度考查了冒泡法排序的思想及程序实现,第1个是选择题,主要考查学生对每一轮排序后结果的掌握情况;第2个是选择题,主要考查学生对排序过程中次的掌握情况;第3个是选择题,主要考查某轮排序的比较与交换情况;第4个是选择题,主要考查程序与思想相结合,某轮排序后的结果的情况;第5个是填空题,主要考查学生对程序掌握的情况,5个题目一个比一个拔高,虽然选择题比较基础,但在课本找不到原话,是对课本知识做了变通,若不仔细推敲,难以做出正确的选择,同时提醒同学要把知识学活,能灵活运用,而不是去死记硬背。总体感觉效果不错,知识得到落实。
课下实践是对有能力的同学来设置的,对他们更是一个提高。
教材分析
本节课选自教科版高中《算法与程序设计》(选修)课本,第三章第四节第一部分“冒泡法排序算法” 内容。
一组不长的数据(如6个),从小到大排序,对学生说是一件非常容易的事情,但他们并不知道计算机是怎么实现排序的,同时他们也没见过计算机对大量数据(如10000个)的排序,学习排序有助于学生对计算机工作原理的认识。冒泡法排序对学生来说初次接触,但前面学习的程序的选择结构与双重循环结构、数组、解析法、枚举法等部分内容,对学习这节课都有一定的帮助,同时冒泡法排序的学习以可以巩固前面的知识。
关于冒泡法排序算法我安排了2个课时,本案例是教室内完成的第1课时,对排序算法的要求是“通过实例,使用排序算法设计程序解决问题的方法”,冒泡法排序算法是程序设计中的重要算法,又不容易理解,因此本节课通过多种方式加深学生对冒泡法排序算法的理解,结合课本的流程图,到程序实现框架,有了眉目。第2课时安排学生上机实践:对一批数据进行冒泡排序,是下一节课的内容。
课堂检测:
1、对“648251”中的6个数码进行两轮冒泡排序后的结果是( )
A.684521 B.462518 C.126485 D.864521
2、有一组原始数据:21、26、18、63、84、77、66、12、33、17。利用冒泡排序算法进行从小到大排序,需要进行( )次比较,才可以完成第一轮数据的排序。
A.5 B.6 C.8 D.9
3、下表中的原始数据是一组学生的军训打靶成绩,若采用冒泡排序算法对其进行排序,则第3遍的排序结果是 。
原始数据 第一遍 第二遍 第三遍 第四遍
98 85 85 85
95 98 88 88 85 95 98 93
93 88 95 95
88 93 93 98
4、实现某排序算法的部分VB程序如下:
For i=1 To 4
For j=5 To i+1 Step -1
If a(j)
t=a(j):a(j)=a(j-1): a(j-1)=t
Next j
Next I
在经过某一遍排序“加工”后,数组元素a(1)到a(5)的数据依次为“26、78、52、60、33”。则下一遍排序“加工”后数组元素a(1)到a(5)的数据应该是( )
A.26、33、78、52、60 B.26、33、52、60、78
C.26、33、60、52、78 D.26、33、52、78、60
5、有n个元素的数组,从小到大排序,将程序填写完整。
For i= 1 to n-1
For j= ( ) to ( ) step ( )
if a(j) ( ) a(j-1) then
t=a(j)
a(j)=a(j-1)
a(j-1)=t
end if
Next j
Next i
课下实践:
收集有关冒泡法排序的VB程序,通过上机体验,进一步体会冒泡法排序的思想及实现过程;也可将上面5个元素排序程序段完善完整,通过上机体验,进一步体会冒泡法排序的思想及实现过程。