欢迎来到天天文库
浏览记录
ID:31489366
大小:108.00 KB
页数:6页
时间:2019-01-12
《“冒泡排序算法”教案》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、“冒泡排序算法”教案 一、教材分析 浙教版的《算法与程序设计》,在第五章第二节中对冒泡排序算法进行了实现。处理教材的时候笔者将第三章提前,为第二章、第五章打下基础。一是加深学生对算法与程序设计关系的体会;二是可以通过程序的实现加深对算法的理解。 二、学情分析 学生已经学习过VB程序基础和VB控制结构,对简单的分支、循环等流程有了较清楚的认识,也实现过一些程序,但是对于二重循环以及循环与分支的嵌套还比较陌生。在排序算法中,对于内外层循环的作用以及循环参数的设置可能会产生一些不合理或是错误,这需要通过实践的体验进行强化理解。
2、 三、教学目标 知识与技能目标:熟练掌握冒泡排序工作原理,能利用冒泡排序思想对任意给定的一个数列进行排序,培养学生的动手能力。 过程与方法目标:利用合作学习、小组探究等方式熟练理解并掌握冒泡排序算法。 情感态度与价值观目标:培养学生分析问题、发现规律的能力,激发学生的热情,提升学生的信息素养。 四、教学重点6 冒泡排序工作方式,工作原理的解析,归纳算法 五、教学难点 冒泡排序工作原理的分析,算法设计 六、教学过程 1.新课引入 第一组前五位同学分别给一张卡片,卡片上写的是数字8、56、40、17、23。
3、游戏规则:从第一组第五位同学开始往前,依次与前一位学生拿到的卡片比较,如果后一位学生卡片上的数字比前一位学生的小,两个人互换位置,直到比较到最前面一位同学为止。 其他同学观察。 师:你们看到了什么? 生:(讨论并说自己的想法。) 师:我刚才听到同学们的发言了,最小的数在最前面了,比较了4次,交换了2次。 6师:如果让所有拿卡片的同学按照从小到大的顺序就座,我们如何处理呢?其实刚才第一组的五位同学就给我们展示了一种排序的方法,我们称冒泡排序。究竟什么是排序呢?把杂乱无章的数据变为有序数据的过程我们称为排序。排序在我们日常
4、生活中应用比较广泛,比如说,每一次大型考试之后的排名,第一次体育课上的排队等等。冒泡排序,顾名思义,形容较小的数据像水中的气泡一样,气泡的质量比水轻,往上飘。我们来一起看看刚才第一组同学在交换座位中的思路吧,我们把刚才同学的卡片按照顺序存储在数组中,数组大家还熟悉吧,在我发的导学案中对数组的相关知识再次介绍,不熟悉的同学可以看看。我们找一位同学上来写一下我们第一次比较、交换的情况。 生:上台演示刚才的处理过程。 师:课件展示排序的过程(实例分析),课件展示每一次排序结果。 观察每一次比较次数。 2.发现规律 用i表示处
5、理遍数,用j表示数组元素下标变化 第1遍处理:i=1 d(j)<d(j-1):d(5)<d(4)――23<17=false,不换231740568 d(j)<d(j-1):d(4)<d(3)――17<40=true,换231740568 d(j)<d(j-1):d(3)<d(2)――17<56=true,换234017568 d(j)<d(j-1):d(2)<d(1)――17<8=false,不换234056178 j:5~2,比较了4次 第2
6、遍处理:i=2 d(j)<d(j-1):d(5)<d(4)――23<40=true,换234056178 d(j)<d(j-1):d(4)<d(3)――23<56=true,换4023656178 d(j)<d(j-1):d(3)<d(2)――23<17=false,不换405623178 j:5~3,比较了3次 第3遍处理:i=3 d(j)<d(j-1):d(5)<d(4)――40<56=true,换405623178 d(j)<d(j
7、-1):d(4)<d(3)――40<23=false,不换564023178 j:5~4,比较了2次 第4遍处理:i=4 d(j)<d(j-1):d(5)<d(4)――56<40=false,不换564023178 j:5~5,比较了1次 3.得出结论 数组中有n个元素d(1)~d(n)时 处理遍数i: n-1遍;i=1Ton-1 每遍比较次数: n-i次 每遍比较时下标j的变化: j=nToi+1step-16 总比较次数: (n-1)+(n-2)+…1 n*(n-1
8、)/2次 4.分组探究 冒泡排序算法设计(导学案二) 在什么情况下需要交换 生:排序的遍数用I表示,I的变化是从1到n-1 每一遍比较的次数用J表示,J的变化是从n到I+1 比较d(j)和d(j-1)之间的关系,如果d(j)<d(j-1),则进
此文档下载收益归作者所有