《算法》教学设计

  • 格式:doc
  • 大小:152.00 KB
  • 文档页数:7

《算法》教学设计

【教材分析】

算法是规则系统一种循序渐进解决问题的过程,尤指一种为在有限步骤内解决问题而建立的可重复应用的计算过程.

在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.

算法概念这一节,立足于用自然语言描述解决问题过程中的明确顺序,是实现用程序框图、程序语言的表示方式的基础.

算法的思想方法几乎贯穿整个高中数学课程的所有章节,如解三角形、数学归纳法、数学建模等.本节的内容能为以后学习程序框图、基本算法语句以及选修1-2第四章“框图”内容奠定基础.

算法是连接人和计算机的纽带,是计算机科学的基础,利用计算机解决问题需要算法.首先研究解决问题的算法的自然语言表达,再把算法转化为程序,所以本节课学习用自然语言进行算法设计是使用计算机解决具体问题的一个极为重要的环节.

【学情分析】

通过对学生的调查分析了解到,基本上所有的学生在此之前都没有接触过算法和程序,这两个概念对于学生来说是陌生的。在学生的意识里设计算法和编写程序是很难的,是工程师们才能做的事情,对他们而言是遥不可及的,所以他们会害怕学习这块内容。这节课是学生学习算法和编程的第一课,不能让学生感到有太大的难度,要让他们觉得算法是一个很好理解的概念,设计算法也并不是难事。因此在选择例子时我选择了每个学生都会的“设计求解一元二次方程的实数根的算法”的例子,这样可以培养学生的自信心,提高他们的学习兴趣。我在课堂中设计了很多的学生活动,这样可以提高学生学习的主动性,提高学生学习算法和编程的兴趣,培养学生利用计算机解决问题的能力。

【教学目标】

1.知识与技能

理解算法的概念、会用自然语言和流程图对简单算法进行描述、理解程序的三种基本结构。

2.过程与方法

通过狼羊过河的flash动画体验算法并归纳出算法的概念。通过求解二元一次方程组的实例,采用教师讲解、提问及小组讨论等方式培养学生分析、总结和归纳的能力和协作、交流的能力。体会解方程的一般性步骤,从而得到一个解二

第 2 页 共 7 页 教学设计

元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法。由于思考问题的角度不同,同一个问题也可能有多个算法,

3.情感态度与价值观

通过本节的学习,使我们对计算机的算法语言有一个基本的了解,明确算法的要求,认识到计算机是人类征服自然的一各有力工具,进一步提高探索、认识世界的能力。并通过开展小组合作讨论,激发学生的学习热情和创新意识;增强合作意识,提高信息素养。

【教学重点与难点】

重点:让学生经历分析问题、设计算法,用自然语言、流程图等方法描述算法的过程。

难点:对算法概念的理解,设计出合理的算法。

【教学策略与手段】

1.教学过程中融入建构主义教学观,引导学生通过对具体实例的分析,体会算法的思想,算法的特点,,提高教学效率;

2.开放式的授课,根据教科书又不局限于教科书,进行部分的扩展,提高学生学习的兴趣。

3.以课堂讨论的方式,引导学生针对趣味性问题和生活实际中会遇到的问题进行思考、讨论,探索解决问题的方法和步骤,从中得出关于算法的诸多概念。所有内容都以学生独立思考和分组讨论的方式进行,充分调动学生的主观能动性,以达到主动式学习、探究学习和创新性学习。

【教学过程】

一. 课前准备

(1)学生应对所学内容,进行预习,对该模块内容有一整体模糊印象。

(2)多媒体课件。

二. 导入新课

问题情境:一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条小船.乘船时,农夫只能带一样东西.当农夫在场的时候,这三样东西相安无事.一旦农夫不在,狼会吃羊,羊会吃菜.请设计一个方案,使农夫能安全地将这三样东西带过河.

设计意图:通过这个学生感兴趣的问题,让学生有一个对算法的初步认识.

师生活动:教师可以引导学生整理出按步骤解决问题的方案,并告诉学生这就是一个解决该问题的算法.

第一步,农夫带羊过河.

第二步,农夫独自回来.

第 3 页 共 7 页 教学设计

第三步,农夫带狼过河.

第四步,农夫带羊回来.

第五步,农夫带蔬菜过河.

第六步,农夫独自回来.

第七步,农夫带羊过河.

当然,也有可能学生提出第二套过河方案.

第一步,农夫带羊过河.

第二步, 农夫独自回来.

第三步,农夫带蔬菜过河.

第四步,农夫带羊回来.

第五步,农夫带狼过河.

第六步,农夫独自回来.

第七步,农夫带羊过河.

在这里目的不是为了解决这个问题本身,而是为了从这里让学生初步了解算法,所以不需要两种方案都讲.只要在学生回答的基础上整理出一个解决问题的步骤即可.

解决问题,建立算法概念

“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的问题,从学生熟悉的鸡兔同笼问题解决引出数学中的算法问题:

问题1:一个笼子里有一些鸡和兔,现在知道里面一共有35个头,94只脚,问鸡和兔各有多少只?

设计意图:通过对学生所熟悉的问题的解决,帮助学生形成按步骤表达解决问题的想法.为建立算法的概念,以及下面学习复杂问题中用自然语言描述算法打好基础.

师生活动:这个问题学生容易解决,可以由学生独立思考,之后汇报其解决方案.

从解决问题的过程看,解决以上问题可以分若干步完成:

第一步,设有x只鸡,y只兔,

第二步,列方程:35(1)2494(2)xyxy

第 4 页 共 7 页 教学设计

第三步,解方程求得:2312xy

第四步,答:笼子里有鸡23只,兔12只.

教师在学生回答的基础上指出上述四个步骤构成解决“鸡兔同笼”问题的一个算法.同时指出:“第一步,设.第二步,列. 第三步,解.第四步,答.”这四个步骤构成了一般的列方程解应用题的算法.

问题2:你能写出求解二元一次方程组: 35(1)2494(2)xyxy

的步骤吗?

设计意图:在上述“鸡兔同笼”问题中涉及解二元一次方程组的问题,通过复习所学过的解二元一次方程组的基本步骤,为建立算法概念做好准备.

师生活动:教师先提出问题,让学生对求解过程一步步表达出来.

解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,无任学生用代入消元法还是加减消元法,在这里目的不是为了解方程的方法,而是为了从这里让学生初步了解算法,所以不需要两种方法都讲. 教师只要和学生共同整理出一个解方程的步骤即可.

教师在学生回答的基础上指出:

1.以上求解的步骤就是解二元一次方程组的算法.

2.本题的算法也适合一般的二元一次方程组的解法.

问题2:写出求方程组1111221222(1)0(2)axbycababaxbyc的解的步骤.

设计意图:在复习解特殊二元一次方程组基本步骤的基础上.进一步复习回顾解一般的二元一次方程组的步骤,从而提高学生对算法的普遍适用性的认识,使学生认识到算法往往适合解决的是一类问题,为建立算法的概念做好铺垫.通过教师事先编好的程序的演示,让学生感受算法研究的价值.

师生活动:教师在提出问题后,可以让学生来说出其解题步骤.

第一步,21(1)(2)bb,得12212112()(3)ababxbcbc.

第二步,解(3),得21121221bcbcxabab.

第三步,12(2)(1)aa得12211221()(4)ababyacac. 第 5 页 共 7 页 教学设计

第四步,解(4),得12211221acacyabab.

第五步,得到方程组的解为:2112122112211221bcbcxababacacyabab.

在完成求解一般的二元一次方程组步骤的基础上教师指出:

1.本题的步骤就是求一般的二元一次方程组的解的算法.

2.用事先编好的程序,让学生输入数据,计算机直接给出方程组的解.

算法的择优

教师: 处理同一个问题可能有不同的算法,采用什么样的算法更简单、方便呢?

放幻灯片,出示例子:著名数学家华罗庚"烧水泡茶"的两个算法。

算法一

第一步:烧水;

第二步:水烧开后,洗刷茶具;

第三步:沏茶。

算法二

第一步:烧水;

第二步:烧水过程中,洗刷茶具;

第三步:水烧开后沏茶。

教师:大家讲讨论一下这两个算法的区别在哪里?

学生:区别是在什么时间洗刷茶具。

教师:大家讲一下,哪个算法更高效?为什么?

学生:第二个算法更高效。因为节约时间。

教师:很好。第二个算法的科学性在于应用了"统筹方法"。因此,我们可以明白一个好算法必须用到科学的方法。我们应该好好学习各学科处理问题的科学方法。

【板书设计】

1.1.1 算法的概念

1.算法的概念 例1 引例1

2.算法的特征

(1)

(2)

(3) 例2 引例2

第 6 页 共 7 页 教学设计

【学习反馈与检测】

1.课堂检测

课本第6页练习1

2.课后检测

第1题. 一位商人有9枚银元,其中有1枚略轻的是假银元.你能设计用天平(不用砝码)将假银元找出来的算法吗?

设计意图:通过本题评价学生能否结合实际问题,运用本节课所学的算法的思想,会用自然语言表达算法.

解:第一步,将9枚金币平均分成三组,将其中两组放在天平的两边. 如果天平平衡, 则假的金币必定在另外一组;如果天平不平衡,则假的金币必定在较轻的一组.

第二步,将有假金币的一组金币中,取出两枚金币,分别放在天平的两边.如果天平平衡,则假的金币必定是剩余的;如果天平不平衡,则假的金币必定在较轻的一边.

第2题.任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.

设计意图:检查学生是否会用自然语言正确表达算法,训练学生的应变能力.

第一步,给定一个大于1的整数n.

第二步,令1i.

第三步,用i去除n,得到余数为t,若0t,则i是n的一个因数输出i;否则,不输出i.

第四步,给i增加1仍然用i表示.

第五步,判断是否成立,若是,则算法结束;否则,返回第三步.

第3题.写出解方程2230xx的两个不同的算法.

设计意图:巩固用自然语言正确表达算法,了解算法的不唯一性.

分析:本题是求一元二次方程的解的问题,方法很多,下面分别用配方法、判别式法写出这个问题的两个算法.

算法1: 第一步,移项,得:223xx ①

第二步,①式两边同加1并配方,得:2-14x ②