范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

算法与程序设计选择排序

  一、学情分析
  通过上学期《算法与编程》部分的学习,学生初步了解算法及其表示、比较熟悉流程图设计;
  本学期课程为《算法与程序设计》,对算法的理解更加深入,要求能通过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
  开始
  j<n ?
  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
  if d(j)<d(min) then min=j
  next j
  [小组讨论]
  在遍历了一遍后如果发现第1-n个数中的最小数d(min),根据选择排序的思想,需要把它与第1个数字进行交换。如何进行?
  [请同学发言]打个比方,在厨房里有一瓶酱油、一瓶醋和一个空瓶,如何利用这个空瓶实现酱油与醋?
  ——可先把酱油倒到空瓶中,再把醋倒到原来装酱油的瓶中,然后从原来的空瓶中把酱油倒到原来装醋现在已经空的瓶中,即可实现换位。
  [教师]大家动动脑筋,用这种思想,试试把d(1)与d(min)换位,并写出相应的代码。
  dim temp as integer
  temp = d(i):d(i)=d(min):d(min)=temp ’关键在于引入"空瓶"变量temp
  [思考]是不是每遍历一遍后必须做这样的一次交换?
  ——不是必须的,只有当确实发现有比d(1)小的数后才交换
  [教师]那怎么知道有没有发现比d(1)更小的数呢?
  i 1:min 1:j 2
  开始
  j<n ?
  d(j)<d(min) ?
  min j
  y
  n
  n
  ………………
  min<>1 ?
  temp = d(1)
  d(1)=d(min)
  d(min)=temp
  y
  j=j+1
  ——其实在遍历之前我们已经假设第1个元素最小,即min=1,所以在遍历一遍后我们只需要验证一下min=1是否还成立。成立则表明没有比第1个元素小的数,不成立则表明有比第1个元素小的数,且它的下标为min,此时要交换d(1)与d(min)。
  [学生完善流程图及代码]
  if min <> 1 then
  temp = d(1):d(1)=d(min):d(min)=temp
  end if
  [教师]我们先前说过,对于规模为n的数组,需要遍历处理次数为n-1次,以上的流程就是这n-1次中需要重复做的事,对于重复处理的事,可以用什么结构?
  ——循环,以上的比较、交换即为循环体
  [教师]大家试着把这个循环结构流程图画出来
  [学生完善流程图及代码]
  开始
  j<n ?
  d(j)<d(min) ?
  min j
  y
  n
  输出排序结果
  n
  min<>i ?
  temp = d(i)
  d(i)=d(min)
  d(min)=temp
  y
  i<=n-1
  i 1
  y
  n
  结束
  i=i+1
  j=j+1
  min=i:j=i+1
  for i = 1 to n-1
  min = i
  for j = i + 1 to n
  if d(j) < d(min) then min = j
  next j
  if min <> i then
  temp = d(i):d(i) = d(min):d(min) = temp
  end if
  next i
  for m = 1 to n
  print(str(d(m)))
  next m
  [调试程序]
  [扩展提高]
  我们知道,冒泡排序的效率比较低,主要因为数据交换的次数多,那我们如何知道选择排序中数据交换的次数?
  [学生带着问题思考并实践]
  ——可利用一个自定义integer型变量,初值0,记录数据交换次数,在程序交换数据部分令其自加1,程序结束时输出结果。
  [完整的程序为]
  dim i,j,min,m,cishu as integer
  cishu=0
  for i = 1 to n-1
  min = i
  for j = i + 1 to n
  if d(j) < d(min) then min = j
  next j
  if min <> i then
  temp = d(i):d(i) = d(min):d(min) = temp:cishu=cishu+1
  end if
  next i
  for m = 1 to n
  print(str(d(m)))
  next m
  print(str(cishu))
  【问题研讨】
  对于规模非常大时,计算选择排序与冒泡排序交换次数,研究时间、空间复杂度
  利用网络、图书,发现更优秀的排序算法,并对各种算法进行效率分析

熟悉的近义词反义词熟悉解释十分了解,知道得很清楚熟悉内情熟悉业务彼此熟悉。下面品学网小编就给大家整理熟悉的近义词,反义词和造句,供大家学习参考。熟悉的近义词熟习注释1。了解得深刻。2。学习或掌握得很关于淡淡幸福的句子幸福不会时时等着你,爱你的和你爱的人不是随时可以出现,请你学会珍惜。下面是品学网小编给大家整理的关于淡淡幸福的句子,供大家阅读!关于淡淡幸福的句子1。我没有多的言语,只有一句要告诉仿佛的近义词有哪些及造句抬头看到一只小鸟愉悦地飞着,仿佛预示着我今后快乐的生活。以下是小编给大家精选整理的仿佛的近义词及造句,欢迎大家阅读,供您参考。中文发音仿佛fngfuacute仿佛的词语解释似乎好像神出鬼没的近义词反义词及造句神出鬼没是一个汉语成语,拼音是sheacutenchgumograve,意思是像神鬼那样出没无常形容出没无常,不可捉摸,后泛指行动变化迅速。下面是小编精选整理的神出鬼没的近义词反义疲惫不堪的近义词是什么疲惫不堪是一个汉语成语,意思指疲惫,形容极度疲乏过度劳累不堪不能忍受。疲惫不堪的近义词是什么?下面是小编为大家收集的关于疲惫不堪的近义词和造句,希望能帮助到你,欢迎大家一起来阅读!有关淡泊的近义词,反义词和造句淡泊解释(名利等)超脱,不追逐淡泊名利非淡泊无以明志。下面品学网小编就给大家整理淡泊的近义词,反义词和造句,供大家学习参考。淡泊的近义词和同义词淡薄注释含量少密度小稀薄香味淡薄。(讽刺的近义词是什么及造句讽刺解释用比喻夸张等手法对人或事进行揭露批评或嘲笑。以下是品学网小编收集整理关于该词的近义词以及造句,希望对你有用!讽刺的近义词讥刺嘲讽讥讽讥嘲讥笑为更好地掌握这个词语,以下是讽刺关于爱情的悲伤短语爱情,就是两个拉着橡皮筋的人,受伤的,往往是不愿放手的那位。下面请欣赏品学网小编给大家带来的关于爱情的悲伤短语相关内容。关于爱情的悲伤短语欣赏1)即便到现在为止我还是一事无成,我还哲理爱情心情短语个性签名爱情的哲理有太多,需要每个人切身体会才能懂得,以下是品学网网小编收集的哲理爱情心情短语个性签名内容,大家一起来欣赏一下吧。哲理爱情心情个性签名说说1)在生死轮回的碰撞中是否我们曾擦关于爱情的煽情短语爱情从来都不仅仅一种关系,而是一种感觉,一种心理状态。下面请欣赏品学网小编给大家带来的关于爱情的煽情短语内容,希望大家阅读愉快。关于爱情的煽情短语句子1)伤害你的人,不是比你强大就浪漫爱情宣言短语喜欢是淡淡的爱,而爱是深深的喜欢。你知道哪些关于爱情的浪漫短语?下面请欣赏品学网小编给大家带来的浪漫爱情宣言短语内容,希望对大家有所帮助。浪漫爱情宣言短语欣赏1)如果,不幸福,如果
春曲的参考阅读答案春游曲作者为文学家文德皇后。其全文如下井上新桃偷面色,檐边嫩柳学身轻。花中来去看舞蝶,树上长短听啼莺。前言春游曲婉转清亮地唱响了唐朝女性的最初声音。作为七律,它似有失粘的瑕疵,但反六年级泥人张阅读答案泥人张大名叫张明山。咸丰年间常去的地方有两处。一是东北角的戏剧大观楼,一是北关口的饭馆天庆馆。坐在那儿,为了瞧各样的人,也为捏各样的人。去大观楼要看戏台上的各种角色,去天庆馆要看人雨花石阅读答案雨花石是一种天然玛瑙石,也称文石,观赏石,幸运石,是南京仪征著名的特产。雨花石这篇阅读练习是围绕什么展开的呢?下面一起来看看吧。雨花石阅读原文南京,这座石头城盛产一种美丽的石子。在咏山泉阅读答案咏山泉是唐代诗人储光羲的作品。此诗首联叙事点题,紧扣泉字颔联承接上文,从正面立意,描绘山泉的出俗形象颈联从反面角度立意,转写山泉遭遇冷落的境况尾联关合全诗,由叙而议,点明诗旨。全诗关于聪明的姚明阅读及答案阅读是运用语言文字来获取信息,认识世界,发展思维,并获得审美体验的活动。它是从视觉材料中获取信息的过程,下面是小编给大家整理的关于聪明的姚明阅读及答案,欢迎阅读。关于聪明的姚明阅读阶梯阅读答案在文章阅读阶梯里,会发生什么样的事情呢?相关的阅读答案是怎样的呢?下面是小编分享给大家的阶梯阅读答案,希望对大家有帮助。阶梯年轻的爸爸和他的儿子一起在后花园放风筝。小小的园地,小小国家游泳中心水立方阅读及答案参考阅读国家游泳中心水立方,完成下面问题(12分)国家游泳中心又被称为水立方(WaterCube),位于北京奥林匹克公园内,是北京为2008年夏季奥运会修建的主游泳馆,A也是2008年初中阅读理解小狐狸和小乌鸦题目及答案小狐狸和小乌鸦狐狸和乌鸦的故事中的那个老乌鸦,经常把自己当年上老狐狸当的教训讲给小乌鸦听,要小乌鸦记住这个耻辱,提防奉承话里的阴谋诡计,小乌鸦每次听了都连说记住了,记住了。有一天,初中黔之驴阅读答案黔之驴是唐代文学家柳宗元创作的一篇寓言小品。这篇文章表明能力与形貌并不成正比,外强者往往中干假如缺乏对付对手的本领,那就不要将自己的才技一览无余地展示出来,以免自取其辱。以下是小编初中文言文对比阅读试题及答案初中文言文对比阅读向来都是初中语文的一个难点,学好这部分知识,有利于初中语文阅读能力的提升,下面小编就给大家提供三篇初中文言文对比阅读试题及参考答案,供大家参考学习。初中文言文对比人民当家做主的法治国家说课设计人民当家做主的法治国家说课稿一教学理念一切为了学生的发展,是新课程的核心理念。在教学过程中,转变学生的学习方式,倡导学生积极主动的参与教学过程,勇于提出问题,学习分析解决问题的方法