《排序算法》听课记录
一、复习导入新课
师:提问:大批量的数据用什么存储和处理?如何用随机函数产生一个指定区间的随机整数?我们学过几种查找方法其中二分查找的算法前提是什么?如何实现数据交换?
生:思考并回答问题。
(为新课作了铺垫,让学生了解到排序算法的重要性。)
二、排序算法的探索
师:给出10个随机排列的数据,要求学生讨论:手动实现从小到大排序的方法有哪些?
生:分组讨论,提炼排序的方法。
师:总结选择法与冒泡法;两种排序方法的理论基础。
(让学生自主探讨,寻找规律。发挥出了小组协作作用。)
三、探讨算法实现
师:给出10个随机排列的数据,提问“怎样实现最大数放置于最后一个位置的算法”?
生:用VB语句实现找极值的算法。
(让学生明确找“极值”的“打擂台”算法,为实现排序算法作铺垫。)
四、算法的描述
师:用自然语言描述两种排序的算法。
生:分组讨论并描绘出两种算法的流程图。
五、进一步分析比较
师:运用课件,总结归纳两种算法的根本点。突出解析要进行几趟比较,每趟比较的次数,以及循环变数的取值。
生:比较两种算法的相同点和不同点。
(培养学生分析判断的能力,以及举一反三的能力。课件的运用很好,表述了循环的规律。)
六、用VB实现算法
师:观察学生完成情况,即使指导,搜集学生错误,集中讲评。最后运用课件实现排序算法的代码。
(用了课件来展示节省了时间,不要设计窗体,只编写代码。通过讨论,快速掌握另
一种算法。)
七、知识拓展
师:提供了相关的学习网站。
生:思考两种排序算法是否能优化。
(拓宽了学生的视野,提高学生的兴趣,引出更多的问题。)
八、总结
师:知识归纳总结。
生:回顾两种排序算法的原理及实现。
(突出了本课的教学重难点。)
九、作业
总的来说,本课通过教师的引导使得学生自主探究待解决的问题与算法之间的关系,归纳出了算法实现的一般规律。但学生基础差异比较大,教学内容可以选择难度再低点的更好。针对一些问题,如能采用比较简单的设计算法,通过并不复杂的程序来实现效果会更好。