顺序查找教学设计内容教学_第1页
顺序查找教学设计内容教学_第2页
顺序查找教学设计内容教学_第3页
顺序查找教学设计内容教学_第4页
顺序查找教学设计内容教学_第5页
全文预览已结束

下载本文档

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

文档简介

1、2.4.2 顺序查找1教材分析 本节课是浙江教育出版社的算法与程序设计中的2.4.2查找算法的第1课时。本节课建立在学生已经学习了选择、循环语句、数组的基础之上。即是将以前有关VB知识点融会贯通式地巩固,又是在此基础之上的综合性地灵活使用。查找算法研究的是如何以比较少的步骤或较短的时间找到所需的对象。查找的方法很多,对不同的数据结构有不同的查找方法。顺序查找是其中最基础的查找方法,相比校对分查找而言,步骤更简单、算法更易理解。在程序中,从某个数组变量中存储的一批无序数据内寻找出一个特定的数据,或者确定在该数组内不存在这样的数据,此为查找的目的。2学情分析 本节课的教学对象是高二年级学生,作为2

2、017届的学生面临选考的选拔要求,需要在几个月内从VB的初学者上升到熟练掌握,这就对学生提出了很高的要求。前期学生学习过枚举算法,已经掌握ListBox(列表框)、For循环的使用方法。顺序查找的原理就如同在一个无序摆放的书架上查找某本书,其实学生们都具备这样的生活经验,对顺序查找的算法是可以理解和接受的。顺序查找的精髓就是逐个比对,符合要求的就交待该数据在数组中的位置,不附和要求的给出不存在的反馈。考虑到学生各自的知识结构、兴趣、生活经验等因素造成的差异,可以采用别分析、讨论别编写程序的方法,将问题分成随机抽奖、查询是否中奖等几个主要步骤来进行讲授。在整个过程中需要注意个别学生的对问题的领悟

3、能力、代码的调遣能力、操作状态,力争使每个学生在原有基础上取得进步。教学目标 1知识与技能目标(1)掌握使用循环语句批量地生成随机数的方法。(2)掌握使用循环语句逐个比对数据的方法。(3)掌握中途退出For循环的方法。2过程与方法目标(1)以“班队活动中抽奖环节”为主线贯穿整个课堂,提出如何设计一个程序完成抽奖,并在众多中奖号码中查询是否中奖,如中奖的话找出中奖编号作为主题任务。(2)提供一个半成品的VB程序,在此基础上完善功能。(3)通过三个任务完成程序的编写、调试,验证算法的正确性。3情感态度与价值观目标(1)联系生活实际,通常学生之间通过班团活动增进相互之间的了解和友谊、提高参与班级事务

4、的兴趣、增加班级的凝聚力,可以在班团活动中设置抽奖活动作为活动的高潮,中奖的同学能得到一份印有班级LOGO的纪念品。这样的活动更可以提高学生的人际交往与组织活动的能力。(2)培养学生通过编程解决生活中实际问题的能力。4重点难点 (1)教学重点:学生使用循环实现批量的随机数的生成,使用生物实现顺序查找。(2)教学难点:循环的中途退出;利用循环后的变量值判断数据是否存在。5教学过程教学设计过程教学环节教师活动学生活动设计思路创设情境引出主题情景导入:又是一年中的年末时节,圣诞节快到了,同学们期待这样的节日吗?有没有策划过举行一个有关圣诞节主题的班队活动课?假设本班要举行一个有关圣诞节主题的班队活动

5、,在各个联欢活动之后 ,有一个抽奖环节,中奖的同学可以得到印有班级LOGO的纪念品。现要求从全班50个成员中随机抽取20个学号(无序),公布这20名幸运者的学号,并且程序具备查询功能,有同学来查询他(她)是否中奖时,通过软件进行顺序查找。回答期待。回答有这个计划。回答很想看看这样的程序是如何实现的,可以真实地运用到活动中。从现实事例出发激发学生的学习兴趣,培养学生的好奇心。任务驱动逐个击破通过VB软件展示这个程序,老师已经设计好了程序的界面,余下的由学生们讨论如何完成抽奖以及查询的功能。将该工程和窗体文件发送给学生。 小组讨论。 回答肯定要用到随机函数RND()。培养学生的思考能力。基础任务一

6、、布置任务:窗体一加载,产生20个随机数,将数值控制在150之内的整数。将这20个随机的整数显示在列表框list1中。运行后,发现存在的问题,会有相同学号出现,如何解决? 提出审核机制For j = 1 To i If i j And a(i) = a(j) Then i = i - 1Next i二、布置任务:顺序查找总有部分同学没有听清中奖的学号,如果这位同学来查询,如何通过学号顺序查找是否在获奖列表中?因为数列的无序性只能顺序查找,就像生活中我们翻看无序摆放的书架上的某本书在不在。何时路途退出?EXIT For放置的位置是关键(跟着if语句)学生讨论、操作,教师巡视指导。三、布置任务:查

7、询不到中奖怎么处理?什么特征标明没有查询到?学生操作:在老师带领下,申明全局数组变量a(1 to 20)创建form_load事件,循环产生20个随机数为使数据处于150之间,使用a(i) = Int(Rnd() * 50) + 1进行控制,并显示数组值讨论:对每次产生的数值进行审核,如相同,循环变量回退一步,重新生成随机数。学生讨论:为command1添加单击事件,接受输入的学号作为键值key。通过循环结构将数组中的每一个值与key进行比较,如果相等,表示中奖了并显示序号,中途退出循环,不再继续本次查询。For i = 1 To 10 Step 1 If key = a(i) Then La

8、bel1.Caption = 获奖号码是第 & i & 号 Exit For End IfNext i学生讨论:如果退出循环后i=11,表示这个学号不存在列表中If i = 11 Then Label1.Caption = 没有中奖调试、运行程序让学生接触全局变量,了解不同变量的作用区域。这一部分是对以前循环语句和随机函数的复习和巩固为防止产生相同的随机数采用i回退一步是对程序的进阶思考。这是一个开放性的问题,可能有学生提出不同的算法,多加鼓励。逐个比对的关键步骤,for 与if 嵌套写法,注意两个语句在格式上的完整性这是第一次使用循环的中途退出功能。让学生找到特征变量,是锻炼编程思维的重要方面。保存上传存储“工程1.vbp”以及”form1.frm”文件。并生成可执行文件”工程1.exe”上传“工程1.exe “自我评价,上传作品加强学生对文件类型的区别意识归纳总结采用边讨论边编程的方式解决了这一应用问题。因为数组内数值的无序性,适宜采用顺序查找,这是一种比较机械的查找方法,最快比对一次就找到,最差情况下所有的都比对过,但还是没查找到。这个跟待查数据(如果存在)处于数列中的位置有关。除了课堂上统

温馨提示

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

评论

0/150

提交评论