高一数学:1.2《选择排序》算法与程序设计——选择排序教案北师大版必修3.docxVIP

  • 5
  • 0
  • 约3.76千字
  • 约 6页
  • 2020-12-13 发布于山东
  • 举报

高一数学:1.2《选择排序》算法与程序设计——选择排序教案北师大版必修3.docx

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

文档评论(0)

1亿VIP精品文档

相关文档