当前位置:首页 >> 其它课程 >>

教科版《算法与程序设计》(选修模块)3.4对数据进行排序


对数据进行排序》 高中 《对数据进行排序》教学案例 案例名称:对数据进行排序 适用范围:高中一年级 教 材:教科版《算法与程序设计》(选修模块)3.4 对数据进行排序 课 时:1 课时 作 者:戈万红 单 位:江苏省东海高级中学 E-----Mail:jsdhgwh@163.com *教学课题】对数据进行排序 *适用年级】普通高中一年级 *所用教材】教科版《算法与程序设计》 *学生分析】学生学习了程序设计的三种结构,掌握了数组的概念和应用,理解了解析法和穷举法两个典型 算法,这些都为学习冒泡法排序的算法奠定了基础。 *教材分析】 本节课内容为第三章第四节“对数据进行排序”, 《江苏省普通高中信息技术课程标准教学要求》 对排序算法的要求是“通过实例,使用排序算法设计程序解决问题的方法”。冒泡法排序算法是程序设计中 的重要算法,又不容易理解,因此本节课通过多种方式加深学生对冒泡法排序算法的理解。 *教学目的】 1、知识和技能 (1)理解冒泡法排序算法思想。 (2)学会用冒泡法对数据排序。 2、过程和方法 通过观察动画演示,思考相关问题,分析算法,画流程图,上机编程实践,掌握冒泡法排序算法的思想和 应用。 3、情感态度与价值观 (1)培养学生的逻辑思维能力,使学生体会将自己的逻辑思维与计算机程序设计相结合的过程。 (2)培养学生对程序设计的兴趣和设计程序解决实际问题的能力。 *教学重点】(1)冒泡法排序原理。(2)运用冒泡法排序解决实际问题。 *教学难点】(1)理解冒泡法排序中的趟、次等概念。 (2)算法的优化。 *主要教法】演示法、讲授法、启发 *主要学法】模仿、实践、协作、自主探究。 *设计理念】学生是信息加工的主体、是意义的主动建构者,教师是意义建构的帮助者、促进者。通过创设 符合教学内容要求的情境和提示新旧知识之间联系的线索,帮助学生建构当前所学知识的意义。 *教学用具】微机房多媒体演示系统 *教学过程】 一、创设情境,导入新课 1、观看动画:王小丫主持的“开心辞典”栏目中有一道题是观看录像,然后根据录像内容回答问题。下面也 请同学们观察动画演示过程,然后回答问题。 2、师生问答: 师:这个动画描述了什么问题? 生:把一组数按从小到大的顺序进行排列。 师:采用什么样的方法? 生:相邻两个数两两比较,小的放到前面,大的放到后面。

师:第一趟比较多少次?第二趟比较多少次?一共比较了几趟? 生:第一趟比较 9 次,第二趟比较 8 次,依此类推,最后一趟比较 1 次,一共比较 9 趟。 师:动画中是对 10 个数从小到大进行排序,如果对 n 个数进行排序呢? 生:第一趟比较 n-1 次,第二趟比较 n-2 次,依此类推,最后一趟比较 1 次,一共比较 n-1 趟。 师:这就是排序方法中比较典型的冒泡法排序。这节课将学习冒泡法排序原理,并运用冒泡法排序解决实 际问题。 二、启发思考 ,实践探究 3、让学生通过分析和思考,总结出冒泡法排序算法的思想。 4、根据学生总结的结果,教师再次进行补充完善冒泡法排序算法的思想。 基本思想:将相邻两个数比较,小的交换到前面,大的交换到后面。具体过程如下: (1)将 n 个数按从小到大顺序进行排序,第一趟将相邻两个数比较,小的交换到前面,大的交换到后面, 经 n-1 次比较后,最大的数被交换到最后一个位置。 (2)第二趟对余下的 n-1 个数按上面方法比较交换,经 n-2 次比较后将次大的数放在倒数第二个位置。 (3)依次类推,n 个数共进行 n-1 趟比较,在第 j 趟中要进行 n-j 次两两比较。 由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称冒泡法排序。 5、教师继续提出问题:如何用程序来进行排序? 6、和学生一起分析:用双重循环实现,外循环变量设为 i,内循环变量设为 j,外循环重复 9 次,内循环依 次重复 9,8,...,1 次。每次进行比较的两个元素可以分别用 a(j-1)和 a(j)表示,i 的值依次为 1,2,...,9 趟,对于每一个 I 趟, j 的值依次为 10-I 次。 具体算法如下: (1)输入 10 个数到数组中。 (2)从小到大把数组中的变量进行排序。 for i=1 to 9 for j=i+1 to 10 if a(j-1)>a(j) then 交换(j-1)和 a(j) (3)输出排序后的数组。 7、和学生一起画出算法的流程图。 8、让学生根据算法编写 VB 代码来解决将 10 个数按从小到大的顺序进行排序问题。 9、教师对学生的编程情况进行点评,并要求学生修改代码,将 10 个数按从大到小的顺序进行排序。 三、拓展加深,优化程序 10、教师再次让学生观察“冒泡法排序”的动画演示,继续提出问题:在动画中可以看出,第四趟排序结束, 所有数据的顺序就满足从小到大的规则,按理说,此时可以停止比较,可是程序依然要比较完 9 趟才结束, 只是不再需要交换。请同学们修改程序如何在满足排序规则后就终止比较? 11、在学生思考后,教师提示:引入一个布尔型变量 flag,在每趟排序开始前,先将其置为 False。若排序 过程中发生了交换,则将其置为 True,结束时检查 flag,如果没有进行交换则终止比较,不再进行下一趟 排序。 四、归纳总结,巩固知识 12、请学生复述冒泡法排序算法思想。 13、和学生一起再次归纳冒泡法排序算法的实现过程: (1)通过不同方法输入 n 个数。 (2)实现排序的过程: For i=1 TO n-1 ‘外循环控制排序趟数为 (n-1)趟 For j= i+1 TO n ‘内循环控制当前趟排序次数 (n-i)次

If a(j-1)>a(j) then ‘交换位置 temp=a(j) a(j)=a(j-1) a(j-1)=temp end if Next j Next i (3)采用不同的方法输出数组中排好序的 n 个数。 14、计算机编程中,排序算法的使用非常频繁。实践中,人们设计出了许多好的算法,除了冒泡法排序, 还有交换排序、插入排序、选择排序、归并排序、基数排序等等,各种算法有其自身的特点与适用范围。 在以后同学们还将陆续学习这些算法,我更愿意看到同学们在实践中设计出更多更好有创新的算法。 *教后反思】 本节课通过“提出问题——观察思考——总结规律——实践探究——综合应用——拓展加深”这个流程来进行 教学。在突破难点上,采用“观察动画——画出流程图——总结算法实现过程——编写代码”多样方式加深对 冒泡排序算法的理解。学生全程参与了知识的形成过程,通过积极思考、广泛交流、主动探究与建构,使 问题得到解决,把新知识纳入旧知识的体系中,使学生在一节课时间内理解了冒泡法排序这个较为复杂抽 象的算法。在整个学习过程中,学生成为真正的学习的主体,教师只是起到主导的作用,是学生学习的帮 助者和促进者。 学生能在教师的引导下,积极思考,勇于归纳,敢于探究,大胆实践,使学生的逻辑思维能力得到锻炼。 同时提高了学生对程序设计的兴趣和设计程序解决实际问题的能力。本案例存在的一个问题是:虽然学生 对冒泡排序的思想有了很好的理解,但是当把这种算法转化为 VB 代码时还存在一定的困难,需要老师的 点拨和帮助才能得以完成,这也说明,学生的编程能力还有待加强,要求教师在日常教学中要多给学生实 践的机会并且端正学生对信息技术的学习态度,从而锻炼学生的编程能力 。


相关文章:
石首一中算法与程序设计(选修1)(教科版教材)模块考试题
石首一中算法与程序设计(选修1)(教科版教材)模块考试题_其它课程_高中教育_教育...X=3 : Y=4 T=X : X=Y : Y=T Print X, Y (2)(说明:考查对 for...
《算法与程序设计》选修模块教学方法
《算法与程序设计》选修模块教学方法略谈 摘要:《算法与程序设计》是普通高中信息...在此基础 上,学生很容易编写出交换两个变量中数据的程序来。 、 “半成品...
算法与程序设计 VB(选修)
算法与程序设计(高中选修)... 36页 2财富值 教科版《算法与程序设计》... ...A、5 B、6 C、4 D、3 、、、第 2 页共 12 页 2、关系运算 、 =、...
高中信息技术 算法与程序设计-递归算法的实现教案 教科版
递归算法的实现教案 教科版_初二政史地_政史地_...是《算法与程序设计》选修模块第三单元的内容,本节...在数组中查找数据对数进行排序以及本节的前一...
算法与程序设计
、教学环境 1、教材处理 教学内容选用中华人民共和国教育部制订的《普通高中技术课程标准》 (2003 年 4版)中 信息技术部分的选修模块 1“算法与程序设计”...
算法与程序设计
、教学环境 1、 教材处理 教学内容选用中华人民共和国教育部制订的《普通高中技术课程标准》(2003 年 4版)中信息技术部分的选修模块 1“算法与程序设计”第...
高中信息技术《算法与程序设计VB(选修)》
高中信息技术《算法与程序设计VB(选修)》_其它课程_...(3) 计算面积 s=π *r*r ; (4) 输出周长 c...当然对同一组数据进行排序,所用的时间少的算法较优...
《算法与程序设计》选修教案_图文
《算法与程序设计》选修教案_其它课程_高中教育_教育...3、有零个或者多个输入,有一个或者多个输出 4、...函数和表达式 (1)运算符 运算符是对数据进行加工的...
信息技术选修1《算法与程序设计》教材的第三单元:算法...
4.课标规定选修 1《算法与程序设计》的课程标准是:通过《算法与程序设计》模块...(5) 初步掌握使用数据查找算法与排序算法设计程序解决问题的方法 以上就是本单元...
(三)《算法与程序设计》模块考试说明
(三) 《算法与程序设计》模块考试说明一、模块会考内容标准 (一)了解程序、...使用循环结构解决实际问题、部分算法(穷举法) 4. 利用算法解决实际问题(排序)、...
更多相关标签: