教科版《算法与程序设计》(选修模块)3.4对数据进行排序
高中 《对数据进行排序》教学案例
案例名称:对数据进行排序
适用范围:高中一年级
教 材:教科版《算法与程序设计》(选修模块)3.4对数据进行排序
课 时:1课时
作 者:戈万红
单 位:江苏省东海高级中学
E-----Mail:jsdhgwh@http://www.77cn.com.cn
*教学课题】对数据进行排序
*适用年级】普通高中一年级
*所用教材】教科版《算法与程序设计》
*学生分析】学生学习了程序设计的三种结构,掌握了数组的概念和应用,理解了解析法和穷举法两个典型算法,这些都为学习冒泡法排序的算法奠定了基础。
*教材分析】本节课内容为第三章第四节“对数据进行排序”,《江苏省普通高中信息技术课程标准教学要求》对排序算法的要求是“通过实例,使用排序算法设计程序解决问题的方法”。冒泡法排序算法是程序设计中的重要算法,又不容易理解,因此本节课通过多种方式加深学生对冒泡法排序算法的理解。
*教学目的】 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代码时还存在一定的困难,需要老师的点拨和帮助才能得以完成,这也说明,学生的编程能力还有待加强,要求教师在日常教学中要多给学生实践的机会并且端正学生对信息技术的学习态度,从而锻炼学生的编程 …… 此处隐藏:1362字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [幼儿教育]【完整版】2019-2025年中国药物发现外
- [幼儿教育]2018-2019年初中信息技术广东初一竞赛
- [幼儿教育]最新外研版(一起)小学英语五年级上册《
- [幼儿教育]农业推广与创新管理专业 -中农大毕业论
- [幼儿教育]2017-2022年中国更年期用药行业市场深
- [幼儿教育]数学1.1.2第1课时棱柱、棱锥和棱台的结
- [幼儿教育]二年级群文阅读课例欣赏
- [幼儿教育]2010-2015年中国保险行业投资分析及深
- [幼儿教育]厄运打不垮的信念第一课时
- [幼儿教育]巧用文本,让表达在言语中绽放论文
- [幼儿教育]中学生百科知识竞赛题及答案
- [幼儿教育]八大菜系英文简介
- [幼儿教育]中国男装牛仔裤市场发展研究及投资前景
- [幼儿教育]远程数字视频监控系统在银行的应用
- [幼儿教育]光纤光缆制造工艺及设备
- [幼儿教育]国家安全法试题及答案
- [幼儿教育]2011高中提前招生及竞赛试题(物理卷1)
- [幼儿教育]宁夏第三产业房地产业、科学研究和技术
- [幼儿教育]中兴通讯 ME3000模块用户硬件设计手册_
- [幼儿教育]紫外线灯管的辐照强度问题
- 苏联东欧剧变的原因和历史教训浅析
- 人工智能导论实验报告(学生)
- 思科ITE章考试原题及答案
- 《学习雷锋好榜样》主题班会教案
- 加油站建设项目安全评价报告
- 剖析社保卡管理系统
- 2017-2018年影视剧新媒体版权运营行业
- 2017-2018学年四川省成都市高一上学期
- 2019最新高中数学 第三章 3.2.1 几类不
- 2011-2015年中国基酸市场调查及行业前
- 人教版新课标选修八Unit 1 课件Warming
- 郭溪燎原小学辅导学生记录表
- 教师资格证统考综合素质写作秘笈
- 国外校园绿色建筑研究方向与建设实践
- 15.1 动物运动的方式 课件(北师大版八
- 民用飞机空调系统
- 长安侠文化传统与唐诗的任侠主题
- 《中国近现代史纲要》名词解释
- 11金本《保险学概论》复习资料
- 民用建筑机电安装工程专业施工图图纸会




