欢迎来到天天文库
浏览记录
ID:15497353
大小:35.50 KB
页数:11页
时间:2018-08-03
《算法与程序设计——选择排序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、★精品文档★算法与程序设计——选择排序算法与程序设计——选择排序一、学情分析通过上学期《算法与编程》部分的学习,学生初步了解算法及其表示、比较熟悉流程图设计;本学期课程为《算法与程序设计》,对算法的理解更加深入,要求能通过VisualBasic实现简单算法;在本课之前,学生应了解了流程图的应用,熟悉在一组数中求极值算法,对于排序及冒泡排序,学生比较熟练。对于本部分,学生可能会对选择排序算法的原理理解较为困难,需要教师的引导学习。学生应当在学习过程中认真听取教师对于算法的分析,在教师指导下能解释该算法的流程图,进而实现程序。二、教学目标知识性目标:
2、了解排序的概念、能在现实生活中列举出关于排序的实例能对照冒泡排序,解释选择排序的优势,指出选择排序的策略,找出数字之间的逻辑联系2016全新精品资料-全新公文范文-全程指导写作–独家原创11/11★精品文档★有迁移应用能力,能由此及彼,归纳排序中的数字规律,探索更有效率的排序算法技能性目标:具有模仿水平,在教师指导下可以表达出选择排序的思想,能对流程图作出解释能独立完成流程图的绘制,对选择排序的各个环节比较熟练,并能在VisualBasic环境中规范地编写程序情感、态度、价值观目标:学生在学习过程中,通过亲身经历体验选择排序的实现过程,获得对此算
3、法的感性认识利用信息技术手段,开展交流合作,把自己对此算法的心得与他人交流,培养良好的信息素养,提升热爱科学的理念三、重点难点重点:对选择排序原理的理解,绘制流程图,数据交换,调试程序难点:分析流程图四、教学策略与手段把握重点,先导入问题,复习排序定义,分析冒泡中数据交换次数多的问题,指出冒泡排序法效率不高,从而引出数据交换次数较少的选择排序算法在教学过程中,可通过Flash演示材料,比较直观地把抽象的问题简单化,由“流程图雏形绘制”-“2016全新精品资料-全新公文范文-全程指导写作–独家原创11/11★精品文档★逐步完善流程图”-“程序实现”
4、-“调试”的过程,让学生熟练此算法与程序实现。在教学中可灵活运用小组合作、分组讨论、小组间竞赛等手段进行教学,通过发散性思维的培养,增强学生对知识的探索能力。五、课前准备1.学生的学习准备:对流程图的绘制方法、VB语法作巩固,对选择排序算法作预习;学生分组:4人一组2.教师的教学准备:准备充分的演示材料、相关数据、相关软件安装。3.教学环境的设计与布置:计算机教室六、教学过程简要点拨排序的概念。演示已经学习过的冒泡排序Flash动画。[小组讨论]在冒泡排序算法中,我们知道冒泡排序是依次把数组中相邻两个数据进行比较,通过交换数据,把较小的数据逐次向
5、上移动的算法。由于数据的移动是逐次进行的,数据交换的次数相当多。大家想想它的实质既然是将一堆数据中的最小数据移动到某个位置,有没有必要让这个数字逐个移动?比如,对于数组:4、8、3、9、6、5、11、10、2、9,如果要用冒泡法实现排序,第一遍冒泡其实是把这组数据中最小数“2”移动到最前边,第二遍冒泡把“3”2016全新精品资料-全新公文范文-全程指导写作–独家原创11/11★精品文档★逐次移到第二个位置,其它类推。它们的过程是逐次向前的,这样做很多无谓的交换。为了达到移动2到最前边的目的我们可以怎么简化这个过程?[学生]直接把2最前面的数4交换
6、,再把3与第二个位置的数8交换,其它类推[教师]这个思想就是今天我们要学习的选择排序算法[小组讨论]选择排序的实质是每次把一堆数据中的最小数移到某个位置,那么这样的操作在规模为N的数组中会做多少次?——N-1次,因为经过N-1次操作已经确定了第1到N-1个位置的次序,第N个位置也自然可以确定。[小组讨论]找出数组中的最小数用什么策略?[复习巩固]可以借助一个自定义的Integer型变量in,用它记录最小的一个数据的下标。首先,不管实际情况如何,我们先假设数组中第1个元素为最小,于是有in=1,再把这个元素与从第2个元素开始的所有元素作比较,一旦有
7、比d(in)更小的元素存在,则修改in变量值为新的较小元素下标。这样,在d(in)经过了从第2个元素到最后一个元素的一一比较后,所得到in应该就是第1到N个元素中的选举出来的最小元素下标了。然后用类似的方法,把第2到N个元素中最小数选举出来;把第3到N个元素中最小数选举出来……2016全新精品资料-全新公文范文-全程指导写作–独家原创11/11★精品文档★I←1:in←1:j←2开始jd(j)in←jyyN………………j=j+1最后把每次选举出来的结果依次输出即可实现升序排列。[学生完成第1遍处理过程的流程图片断][依据流程图写出代码]DiinA
8、sIntegerDijAsIntegerin=1Forj=2ToNIfd(j)Nextj2016全新精品资料-全新公文范文-全程指导写作
此文档下载收益归作者所有