找教案
首页 | 教案| 课件| 说课稿| 试题| 教学反思| 教学论文| 教学计划| 教学总结| 主题班会| 评课稿| 综合教育| 剧本| 活动| 教师考试| 电子书 | 乐谱 |
语文| 数学| 英语| 美术| 音乐| 体育| 科学| 思品| 物理| 化学| 地理| 历史| 生物| 心理| 信息技术| 实践| 健康| 托班| 小班| 中班| 大班| 说课| 百科| 校园活动| 常用文档| 资格考试| 乐谱| 中职职高| 舞蹈| 电大| 摄影|
您当前的位置:资料下载教案信息技术教案高中信息技术教案   公告:
  • 高教版中职音乐基础版说课稿 音的长短
  • 大班美术欣赏说课稿:星月夜
  • 幼儿教育心理学说课稿 幼儿的个别差异与因材施...
  • 市场营销实务全套教案
  • 2015年新版人音版五年级音乐下册教案
  • 2015年新版人音版三年级下册教案
  • 罗密欧与灰姑娘
  • 初音未来千本樱钢琴谱
  • frozen冰雪奇缘Let It Go钢琴谱
  • 全英文中职英语说课稿范例
  • 一年级数学应用题100道
  • 社会主义核心价值观民童谣100首
  • 硬笔书法教案
  • 师德师风知识竞赛试题及答案
  • 西部世界 Welcome To Westworld弦乐四重奏钢琴...
  • 爱乐之城 Mia & Sebastian's Theme钢琴谱...
  • BTS血汗泪Blood Sweat & Tears钢琴谱
  • 爱乐之城 city of stars钢琴谱 简单版 弹奏教...
  • 小学综合实践活动优秀案例
  • BTS 春天 Spring Day 钢琴谱
  • 名称

    冒泡法排序教案

    《冒泡法排序》教学案例
    一、教材分析:
    冒泡法排序是处理数据的一个行之有效的常用方法,是教材的重点学习内容。教材通过实例,介绍了最为直观的冒泡排序法,展示了冒泡排序的过程,通过问题的解决达到明确算法的思路,并将思路整理之后能够熟练地转化为程序代码,这当然是教学目的之所在。
    二、学情分析:
    1、应有知识:数组概念及运用;循环嵌套使用;取数组中的最小值;交换两个变量的值;
    2、课前准备:请学生找出现实生活中对数据进行排序后使用的例子;如考试成绩排名或者运动会成绩排名,模拟排序过程;
    三、教学目标:
    1. 知识与技能:
    1)理解数组的概念,学会用简单的数组处理、表示数据.
    2)掌握冒泡法排序的原理.
    3)掌握冒泡法排序程序的实现和优化.
    4)学会用冒泡法对数据进行排序.
    2. 过程与方法:
    经历分析、实践、讲解、探究、归纳,通过循序渐进、层层深入,逐步深化对循环思想和执行过程的理解。
    3.情感、态度与价值观:
    1) 积极引导,循循善诱,并一环扣一环,层层分析,同时发挥学生主体作用,步步深入,找出算法规律,使冒泡法排序这个较为复杂抽象的算法变得浅显易懂
    2) 通过在实际的问题中分析冒泡法排序结构,从程序设计领域进一步提升学生的信息素养。
    四、教学重点、难点: 
    1) 教学重点:冒泡排序原理及程序实现。
    2) 教学难点:① 冒泡排序的程序实现;② 算法及程序的优化。
    五、教学方法:演示法、讲授法、讨论法、练习法。
    六、课时:1课时
    七、教学过程:
    (一)复习回顾(3分钟)
    1、一维数组定义及赋值   2、三个数的排序(从小到大)
    (二)创设情景、导入(6分钟)
          探讨:上星期运动会结束后,各个运动员的成绩已经出来了,请同学            们考虑一下如何排序得出一、二、三名。
          学生:可以通过Excel排序功能,或者可以通过编程的方式。
          老师:我们今天就一起来讨论如何通过编程的方式来完成排序。请同学们说说有什么方法么?
          学生:首先把所有运动员的成绩放在一个数组a(1 to n)里(n为常量,代表运动员人数),然后a(1)分别和a(2)、a(3)、a(4)……a(n)比较,这样a(1)就能得到最高成绩,同样a(2)分别和a(3)、a(4)……a(n)比较,a(2)里就能得到第二高的成绩,以此类推,就能从大到小排序了。
          老师:很好,这是一种排序方式,叫选择排序。还有其他方式么?
          学生:同样首先把所有运动员的成绩放在一个数组a(1 to n)里(n为常量,代表运动员人数),a(1)和a(2)比较,a(2)和a(3)比较,a(3)和a(4)比较……a(n-1)和a(n)比较,最后a(n)得到最低成绩,接着a(1)和a(2)比较,a(2)和a(3)比较,a(3)和a(4)比较……a(n-2)和a(n-1)比较,最后a(n-1)得到第二低成绩,以此类推,也能从大到小排序。
          老师:也对,这也是一种排序方式,叫冒泡排序,是我们今天要讲的重点,其实排序的方式还有很多,如插入排序,合并排序,冒泡排序,选择排序,希尔排序,堆排序,快速排序,计数排序,基数排序等。那么今天我们就冒泡排序做一个深入的了解。
    冒泡排序原理:也叫“起泡法排序”,是一种比较简单、易懂的交换排序的方法,它通过将相邻元素进行比较和交换,逐步将一个无序序列排列为一个有序序列。
    老师:刚才一位同学的描述其实还需要补充一下,是什么?
    学生:数组元素之间比较的同时还需要有条件的交换值。
    老师:那么同学们考虑一下:假如有10个运动员成绩,请问要比较多少次呢?
    学生:9+8+7+6+5+4+3+2+1次。
    老师:很好,为了便于理解,我们可以这样理解,总共比较了9趟,第一趟比较了9次,第二趟比较了8次,以后依次递减
    接下来我们看一个flash动画(冒泡排序.swf),五个数相比较,从小到大排列。我们一起看flash动画分析
    五个数: 7、3、4、8、1
     归纳: 循环趟数                 比较结果       比较次数
    第一趟    找出最小数:  1—>A(5)        4  依
    第二趟    找出第二小数:3—>A(4)        3  次
    第三趟    找出第三小数:4—>A(3)        2  递
    第四趟    找出第四小数:7—>A(2)        1 减
                   最大数:  8—>A(1) 
    归纳小结:N个数相比较,总共要比较N-1趟,第一趟要比较N-1次,以后依次递减
    (三)师生互动、层层深入(15分钟)
    师:思考:怎么用visual Basic语言表述第一趟的比较
    生 :If   a(1)< a(2) then t=a(2):a(2)=a(1):a(1)=t
         If   a(2)< a(3) then t=a(3):a(3)=a(2):a(2)=t
    If   a(3)< a(4) then t=a(4):a(4)=a(3):a(3)=t
    If   a(4)< a(5) then t=a(5):a(5)=a(4):a(4)=t
    师:很好,那同学们考虑一下有没有更好的表述方式呢?
    提示:dim a(1 to 5) as integer
    dim I,j as integer
    a(1)= 7:a(2)=3:a(3)=4:a(4)=8:a(5)=1
          For j= 1 to         step 1
         if a(j)<a(j+1) then
          交换两个变量的值
               Endif
          Next j
    生:同学们根据提示在visual Basic 环境中完善程序
    师:思考:怎么用visual Basic语言表述第二趟的比较
    For j= 1 to     3   step 1
         if a(j)<a(j+1) then
          交换两个变量的值
               End if
          Next j
    总结:第二趟循环针对4个数经过3次比较,即可利用第一趟比较的程序段来实现找出第二大数,第三、四….趟同样….
    反复利用同一程序段,我们可以把这一程序段作为一循环体,再外加一个循环语句,“FOR  i =1 TO N-1……NEXT”,内部本身就是一重循环,这样二重循环就实现了整个排序的过程。在设置循环变量问题上,我们可以根据每一趟比较次数的递减这个特点,来修改内循环变量终止值为“N-i”。
    (通过flash动画(程序表示冒泡排序.swf)演示冒泡法排序的运行过程,每循环一趟,显示一个结果。)
    (四)学生活动(15分钟)
    完善程序
    要求:一组五个数从小到大排列,输出每一趟比较完后的结果以及每趟比较得到的最小值,第一、二、三、四趟逐行输出。
    由学生完成程序的编写,再分析学生的程序,并完善其程序。最后演示并运行程序。
    程序:
    Dim a(1 To 5) As Integer
    Dim i, j, t, k As Integer
    a(1)= 7:a(2)=3:a(3)=4:a(4)=8:a(5)=1
    For i = 1 To 4
    For j = 1 To 5-i Step1
    If a(j) < a(j + 1) Then
    t = a(j)
    a(j) = a(j + 1)
    a(j + 1) = t
    End If
    Next j
    For k = 1 To 5
    Print a(k);
    Next k
    Print a(j)
    Next i
    (五)交流评价、归纳总结(1分钟)
    1.展示评价A、B组的学生作业,分析学生编程过程中出现的常见问题,如越界问题,循环嵌套的理解。
    2.师生互动,总结回顾课堂所学。
    3.算法优化的二个要素:运行时间短,占用空间少
    (六)内化发散、学以致用
    我们学习冒泡法排序的根本目的主要在于帮助我们解决实际的问题。在你日常的学习、生活中,有没有遇到一些排序问题,能否利用我们今天学的冒泡排序结构优化、解决?
    (七)作业
    1、自己独立编写完整的冒泡法排序程序,并调试,运行。
    2、请同学们预习用递归法解决问题。
     
    附板书设计:
    一、     复习:
    二、     新课:
    1.什么是冒泡法排序?
    2.算法分析 
    归纳: 循环趟数                 比较结果       比较次数
    第一趟    找出最小数:  1—>A(1)        4  依
    第二趟    找出第二小数:3—>A(2)        3  次
    第三趟    找出第三小数:4—>A(3)        2  递
    第四趟    找出第四小数:7—>A(4)        1 减
                   最大数:  8—>A(5) 
    Visual Basic语言表述:
     FOR i=1 TO N-1      
     FOR j= N TO i+1   step -1替换
            IF a(j)>a(j-1) THEN T=a(j):A(j)=a(j-1):a(j-1)=T
          NEXT j
    NEXT i
    三、归纳小结:
    N个数相比较,总共要比较N-1趟,第一趟要比较N-1次,以后依次递减
    算法优化的二个要素:运行时间短,占用空间少。
    四、作业:
    1、自己独立编写完整的冒泡法排序程序,并调试,运行。
    2、请同学们预习用递归法解决问题。
    教学反思:
    本节课运用powerpoint课件和flash动画配合教学,使同学们对冒泡法排序算法印象更加深刻,绝大多数学生都能掌握冒泡法排序算法和程序的编写。学生普遍反应效果好。
    教师发挥了主导作用,通过身边的实例启发学生,积极引导,循序渐进、层层深入、由易到难、由具体到抽象、点面结合;同时发挥出了学生主体作用,步步深入,找出算法规律,自己动手编写程序。使冒泡法排序这个较为复杂抽象的算法变得浅显易懂。使用多媒体课件教学与讲解、讨论等教学方法融为一体,多媒体课件为教学提供了一个直观的过程,使得用语言无法讲清的过程变得一目了然;教学效果较佳。为激发和提高学生的逻辑思维能力,提供了一个很好的氛围,体现课堂的开放性,学生对获得的知识进行内化、迁移和应用。
    冒泡法排序教案下载

    ∷分享∷
    分享到:
    ∷相关资料∷
  • 冒泡法排序教案
  • ∷本站推荐∷
    Copyright © 2003-2016 ZhaoJiaoAan.Com. All Rights Reserved .