高中信息技术课程VB选择排序教学设计_第1页
高中信息技术课程VB选择排序教学设计_第2页
高中信息技术课程VB选择排序教学设计_第3页
高中信息技术课程VB选择排序教学设计_第4页
高中信息技术课程VB选择排序教学设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、10/10选择排序教学设计1、教学设计思想:1、根据学科教学指导意见,要求初步掌握选择排序的算法和程序实现的方法。2、根据图示和游戏,掌握选择排序的基本思想和方法。3、积极引导、帮助学生将掌握的选择排序的方法用算法和程序实现。2、教学设计:(一)、教学目标:1、知识与技能:(1)、掌握选择排序的基本思想与方法,并用算法实现。(2)、学会用VB程序来实现选择排序的算法。(3)、利用VB6.0编译选择排序的程序实例。2、过程和方法:(1)、能从图示和游戏中理解与掌握选择排序的基本思想和实现方法。(2)、能利用掌握的选择排序的思想方法设计出选择排序的算法。(3)、能根据选择排序的算法流程图,用VB程

2、序实现相关算法。3、情感态度价值观:(1)、在游戏和实践的过程中体验自主探究、合作讨论的乐趣,培养学生的学习方法。(2)、通过游戏体验选择排序算法实例问题的解决过程,培养学生分析问题、探究问题、解决问题的习惯与意识。(3)、根据课堂需求展开知识拓展,激发学生继续学习的热情。(二)、内容分析:1、教学重点:(1)、掌握选择排序的基本思想和方法。(2)、设计选择排序的算法流程图。1、教学难点:(1)、选择排序算法流程图的程序实现。(2)、用VB生成选择排序算法的可执行文件。(三)、学生分析:通过一段时间的算法与程序设计的学习,学生已经掌握了一些有关算法和VB语句的相关知识。并且通过枚举、解析和冒泡

3、排序算法的学习,学生也有了一定的解决算法实例的能力。所以关于选择排序的学习,可以适当采用更加自主的学习方法,利用前面学过的冒泡排序的方法,让学生主动的思考问题和解决问题。利用选择排序这节课,充分提升学生学习算法和程序设计这个模块的能力,从跟着老师做,逐步转化为利用老师的引导自己思考着做。这样有利于学生发展自主解决问题的能力。(四)、教学准备:多媒体计算机教室三、教与学的过程:1、课堂导入:(学生互动)游戏:我们先请十位同学,每位同学拿着一个写有数字的牌子,然后让这十位同学先随便的排成一列。接下来我们的要求是用一种方法帮这十位同学重新排序,使得这十位同学最后形成的队列里面,手上拿的牌子的数字正好

4、是从小到大的顺序排列的。冒泡排序回顾:我们先请大家回忆一下上节课冒泡排序的算法。然后集合大家的智慧,帮这十个学生用冒泡排序的方法进行重新排队。其实,除了冒泡排序,我们还有一种非常好的排序方法,叫选择排序(递增)的方法,现在我们用选择排序的方法来重新玩一下我们上面的游戏吧。继续游戏:现在先让所有的十位同学重新胡乱排队,让我们再选出三个人:分别拿上写着i、k、j这三个字母的牌子。举着k这块牌子的人始终站在这次需要排序确认的那个位置上(就是说第一次站在第一个位置上,第二次站在第二个位置上,以此类推,最后一次站在倒数第二个位置上。大家思考,十个人的队列,要进行几次排序?)。举着i这块牌子的人每次排序开

5、始的时候,先站在k的边上,然后听j的指挥。举着j这块牌子的人每次从k站着的位置后面的那个人开始去比较,如果发现某个人手中的数字比k所站位置那个人手中的数字小的时候,马上让i站到找到的这个人边上,然后继续找下一个人,直到找到最后一个人。接下来我们看看k和i所站的位置是否相同,如果不同,让k和i所站位置的两个同学互换位置。接下来可以进行下一次排序了,先让k移到下一个人那里,i回到k的旁边,j继续从k所站位置的下一个人开始找,重复上面的步骤。直到最后一次排序(k在第九个人的位置上的排序)现在我们再看看,这十个人是否已经完成了排序?知识点引出:选择排序(递增)的方法:这种方法的原理是先找出数组元素中最

6、小的数据,使它与第一个元素中的数据交换位置。在余下的元素中继续找最小的元素,与第二个元素中的数据交换位置。依次往下,直到第n-1次。(n表示元素的个数)2、选择排序实现原理:(图解)用数组来存储一系列同类型的数据, 然后调整数组中的元素的次序,使之有序。例如: dim d(1 to 4) as integer 定义一个数组变量d,共4个元素。当i从1到3变化时,k赋初值k=i。每次j从i+1到4时,d(j)比d(k)小,则k重新赋值为:k=j。当这一遍比较完成后,如果ki,那么交换d(i)和d(k)中的内容。(i表示第n遍排序)选择排序每一遍最多只有一次数据交换(在最后),而冒泡排序每一遍可能

7、有多次数据交换(每次比较符合条件都要交换)。(1)第一遍选择排序:d(1)27i、k27i、k27i18交换d(i)和d(k)d(2)36j363636d(3)3232j3232d(4)181818j、k27第1次比较 第2次比较 第3次比较(2)第二遍选择排序:d(1)181818d(2)36i、k36i27i交换d(i)和d(k)d(3)32j32k32d(4)2727j36j、k第1次比较 第2次比较(3)第三遍选择排序:d(1)18d(2)27d(3)32i、k条件ki不满足,不需要交换。d(4)36j第1次比较注意:1、选择排序执行的遍数:n-1遍(n表示数据的个数)2、选择排序第i

8、遍比较的次数:n-i次(n表示数据的个数)3、冒泡排序总共比较的次数:次(n表示数据的个数)3、算法分析:(教学互动:提问学生每次k的位置,j每次从哪个位置开始找,找到哪个位置结束)第1次选择排序时 j 从 2 开始到4:(i=1,k=1)For j=2to4if d(k)d(j) thenk=j当循环完成后,if ki then交换d(i) 和d(k)的值第2次选择排序时 j 从3开始到4:(i=2,k=2)For j=3 to4if d(k)d(j) thenk=j当循环完成后,if ki then交换d(i) 和d(k)的值第3次选择排序时 j 从4开始到4:(i=3,k=3)For j

9、=4 to4if d(k)d(j) thenk=j当循环完成后,if ki then交换d(i) 和d(k)的值4、流程图:(图中是某一遍选择排序的流程,n表示进行排序的数字个数,请同学通过小组讨论,补充完整这个流程图)。5、程序代码:(根据上面的流程图,自主补充完成下面的代码)For选择第i个最小的数k = iFor 如果找到更小的,用k记住它的编号Next jIf k i Then 如果最小的数所在的位置不是i,则交换kt= d(i):d(k) = ktEnd IfNext i6、现在让我们在VB里面实现上面程序吧:(学生操作,具体要求见素材)7、选择排序和冒泡排序的比较:(以n个数据为例

10、)8、课外程序阅读,理解选择排序算法思想:程序部分功能解释:下面程序是产生8个0999的随机数,然后对8个数进行选择排序的算法:(1)生成随机数,显示在list1:Private Sub mand2_Click() 产生8个随机数Randomize 随机数初始化List1.Clear 原始数据清空List2.Clear 将排序后的列表数据清空For i = 1 To 8d(i) = Int(Rnd * 1000)Rnd 函数返回的随机数介于0和1之间。List1.AddItem Str(d(i) 将数据显示到原始数据列表中NextEnd Sub(2)选择排序部分:Private Sub man

11、d1_Click() 对8个数进行选择法排序List2.Clear 将排序后的列表数据清空For i = 1 To 7 选择第i个最小的数k = iFor j = i + 1 To 8 如果找到更小的,用k记住它的编号If d(k) d(j) Then k = jNext jIfk i Then如果最小的数所在的位置不是i,则交换t = d(i)d(i) = d(k)d(k) = tEnd IfNext iFor i = 1 To 8List2.AddItem Str(d(i) 在列表2中显示排序后的数据Next iEnd Sub10、知识扩展:请大家思考,如果我们的选择排序需要的是降序排列,

12、算法该怎么设计?程序又是怎么编写?下节课上课时我们请几位同学谈谈自己的想法。9、回家作业:(1)、活动手册,P43相关练习(2)、画出上面练习中第一题的流程图:(3)、如果活动手册P41页第二题中是选择排序,请写出第二遍排序后数据的排序序列:。(4)、补充练习:1)、在足球联赛中,有5个班级的比赛积分依次为14,11,13,8,9,原始数据14111389第一趟81411139第二趟第三趟89111413第四趟89111314若采用冒泡排序算法对其进行从小到大排序,则第二趟的排序结果是( )(A)8 14 9 11 13(B)8 9 14 11 13(C)8 14 9 13 11(D)8 11 9 14 13若采用选择排序算法对其进行从大到小排序,根据上表格式,填写下表:原始数据14111389第一趟第二趟第三趟第四趟四、知识框架:基本原理算法实现程序实现两种排序对比知识巩固知识扩展五、教学流程:通过游戏认识选择排序的基本思想方法图解选择排序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论