高中信息技术教科版选修1第三章第4-1课《冒泡法排序算
法》优质课公开课教案教师资格证面试试讲教案
1教学目标
1.知识与技能
(1)理解冒泡排序算法的原理和流程图 (2)学会编写程序实现算法
(3)了解自顶向下,逐步求精的程序设计方法 2.过程与方法
(1)通过对算法的分析和细化理解冒泡排序算法的思想,构造程序 (2)通过算法的设计与实现,了解自顶向下、逐步求精的程序设计方法 3.情感态度与价值观目标
(1)通过对问题的层层剖析,理清思路,培养学生严谨缜密的思考习惯 (2)通过问题解决体会由直观到抽象跨越的程序设计过程
2学情分析
(1)有一定的逻辑思维能力,具备一定的提出、思考和解决问题的能力,对于一个问题,能应用学过的知识进行简单分析。
(2)已经学习了程序设计的三种基本结构以及数组变量的使用,但由于实践少,知识连贯和综合应用能力不够。表现为能理解设计算法的要求,但找不到解决问题的思路,独立编写程序就犯难,除了记忆性地罗列一些语句外,不知从何下手,不能形成明确的编程思路,难以完成直观到抽象的跨越。
3重点难点
1.教学重点
冒泡排序算法的基本思想和实现过程。 2.教学难点
构造程序实现冒泡排序算法。
4教学过程
4.1.1教学活动
活动1【导入】引入本节主题
现实生活中,我们经常见到一些排列有序的序列--比如按总成绩从高到低排列的运动会成绩单,按价格从高到低排列的价目表等等……在这样的表格中,我们可以一眼看出自己的成绩在第几、前面有谁、后面有谁、什么产品是最贵的……等等信息,而这种信息在杂乱的序列中是看不到的。
于是,问题就来了:是不是有什么方法可以把那些无序的序列变成有序的呢?当然有!技术上把这种操作叫“排序”……本节课来学习对序列进行排序的方法。 排序是比较典型的算法,有很多种排序算法,本节课介绍冒泡排序算法。 【任务】
随机生成10个两位整数,用冒泡排序方法实现升序排序。 (数值型数据按数值大小排序) 活动2【讲授】算法介绍 【算法介绍】
冒泡排序:是一种计算机科学领域的较简单的排序算法。
对存放原始数据的数组,按从前往后的方向进行多次扫描,每次扫描称为一趟。当发现相邻两个数据的次序与排序要求的大小次序不符合时,即将这两个数据进行互换。走访数组的工作是重复地进行直到没有再需要交换,也就是说该数组已经排序完成。 播放视频:冒泡排序舞蹈秀 活动3【活动】算法细化 【算法细化1】
1.第一趟比较,通过不断比较,交换位置。 (1)共比较几次?9次 (2)每次比较怎么描述? If a(1)>a(2) then 交换 If a(2)>a(3) then 交换 If a(3)>a(4) then 交换 If a(4)>a(5) then 交换 If a(5)>a(6) then 交换 If a(6)>a(7) then 交换 If a(7)>a(8) then 交换 If a(8)>a(9) then 交换 If a(9)>a(10) then 交换
从细化后的计算过程可以看出多次反复做相似的计算的,是不断重复的,这样的处理过程可以应用循环结构来实现。重复的操作就是循环体,变化的内容用循环变量来替换。 (3)怎样进行数组元素的交换? t=a(1) a(1)=a(2) a(2)=t
【程序实现】
当操作重复且有规律时,使用循环结构。重复的语句是循环体,变化的规律用循环变量i表示,i的初值和终值分别是1和9。这就是直观到抽象的实现。 For i=1 to 9
If a(i)>a(i+1) then t=a(i) a(i)=a(i+1) a(i+1)=t endif next i
活动4【活动】算法分析 【算法细化2】
已经通过第一趟比较,将最大值交换到数组的最后一个元素中。 2.那么需要经过多少趟比较交换?9趟 3.每趟比较的次数是多少? 每次从头开始比较。
如:第二趟比较,只需对9个数进行比较交换。
For i=1 to 8 If a(i)>a(i+1) then t=a(i) a(i)=a(i+1) a(i+1)=t endif next i
每一趟比较时除比较次数不同外,执行过程是相同的。那么,这些重复操作的规律是什么?
第几趟 每趟比较次数 1 9 2 8 3 7 4 6 5 5 6 4 7 3 8 2 9 1
如果趟数用j替代,j取值为1-9,怎么样表示每趟比较次数,10-j
【程序实现】 For j=1 to 9 For i=1 to 10-j
高中信息技术教科版选修1第三章第4-1课《冒泡法排序算法》优质课公开课教案教师资格证面试试讲教案



