编辑:
2016-09-01
(三)分析归纳,得到算法概念
问题4.到底什么是算法?如何表达算法的含义?
设计意图:有了上面所举实例,学生对算法的概念开始有了一些认识,但对概念的比较全面的描述还有一定的困难.教师在此处设问后,再通过帮助学生回顾上面关于算法的实例,引导学生进行归纳总结.让学生切实参与到概念的形成过程中来.
师生活动:教师在提出问题后,一定要给学生思考时间,让学生先用自己的语言表达对算法概念的理解,在学生思考、交流、回答的基础上,教师引导学生看书,让同学们看看自己所归纳的算法的概念和课本中概念的差异,帮助学生初步认识算法的概念.
算法的概念:在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
教师:结合问题3你能说说这里面关键词的含义吗?
(四)解决问题,促进理解算法概念,学习算法自然语言描述
过渡语:联系时事、地域与质数有关的问题,激发学生的好奇心和求知欲.
问题5,写出判断7是否为质数的步骤.
设计意图:由学生已有的认识水平出发,创设学生可以完成的体验情境,认学生认识求解结构中存在“重复”.为导出一般问题的算法创造条件,也为学习算法的自然语言表示提供时机..
师生活动:
教师提问:
让学生写算法的步骤,交流并点评学生写的算法步骤.体会如何从算法的角度思考质数的判定,体会算法的特征,知道下列表述的步骤是不明确的,所以都不是算法的正确表达方式.
(1)因为2至6的整数都不能整除7,所以7是质数.
(2)第一步,用2除7,得到余数不为0,所以2不能整除7.
第二步,同理,3至6的整数都不能整除7,所以7是质数.
(3)第一步,
第二步,
第三步,
第四步,
第五步,
,所以7是质数.
纠正学生所写基本步骤后,得到解决7是否是质数的算法.
第一步,用2除7,得到余数为1.因为余数不为0,所以2不能整除7.
第二步,用3除7,得到余数为1.因为余数不为0,所以3不能整除7.
第三步,用4除7,得到余数为3.因为余数不为0,所以4不能整除7.
第四步,用5除7,得到余数为2.因为余数不为0,所以5不能整除7.
第五步,用6除7,得到余数为1.因为余数不为0,所以6不能整除7.所以7是质数.
教师接着提出问题:
问题6 你能写出判定35是否为质数的算法吗?
设计意图:35是偶数的代表,为判断任意给定一个大于2的整数是否为质数奠定基础.
师生活动:让学生试着说说看,可能会出现不同情况.教师有针对性地进行相应讲解.
第一步,用2除35,得到余数为1.因为余数不为0,所以2不能整除35.
第二步,用3除35,得到余数为2.因为余数不为0,所以3不能整除35.
第三步,用4除35,得到余数为3.因为余数不为0,所以4不能整除35.
第四步,用5除35,得到余数为0.因为余数为0,所以5能整除35.所以35不是质数
学生完成后;教师提问:
判断7和判断35是否为质数的算法有何相同之处?有何不同之处?
教师在学生回答后小结:对7是在试完1到6后才知道是质数,对35在试到5时,也就是在试的过程中,就得出不是质数,故没试完;不管哪个数,判断过程都是按一定规则有序进行的,都存在着“重复”这样的结构.
问题7 你能写出判定1997是否为质数的算法吗?
设计意图:让学生在写判断1997是否是质数过程中理解算法概念中的“明确的”,学习用递归语言表达有循环结构的问题.体会算法的结构和特征.
师生活动:让学生试着说一说,可能会出现不同情况.教师有针对性地进行相应讲解.
1997太大,像判定7是否为质数那样去判定1997是否为质数是一件很困难的事情.因此,学生可能会写出下列步骤:
第一步,用2除1997,得到余数为1.因为余数不为0,所以2不能整除1997.
第二步,用3除1997,得到余数为2.因为余数不为0,所以3不能整除1997.
第三步,用4除1997,得到余数为1.因为余数不为0,所以4不能整除1997.
……
第1995步,用1996除1997,得到余数为1.因为余数不为0,所以1996不能整除1997.因此,1997是质数.
但是,上述表述的不是算法. 是因为“……”表达的步骤不明确.计算机无法识别这样的语言.
但对于像1997这样大的数,要像判定7是质数那样的写出判定其是质数的所有步骤是不现实的.那么,在不改变“规则”的前提下怎样表达这个算法呢?
引导学生分析并认识到,在问题5中,判定7是否为质数的每一个步骤,除了除数不同、余数不同外其余的内容是一致的.如果用i表示除数,r表示余数,那么所有步骤都包含以下内容:
“用i除7,得到余数为r.因为r不为0,所以i不能整除7.”
在问题6中,只要把被判定的数7改为1997,则每一步均包含以下内容:
“用i除1997,得到余数为r.因为r不为0,所以i不能整除1997.”
因此,我们可以把判定1997是否为质数的算法写为:
第一步,令i=2.
第二步,用i除1997,得到余数为r.
第三步,判断r是否为0.若是,则1997不是质数;否则把i的值增加1仍记为i.
第四步,判断“i>1996”是否成立.若是,则1997是质数;若否,返回第二步..
问题8 任意给定一个大于2的整数n,能否设计一个算法对n是否为质数做出判断?
设计意图:在问题7学生活动的基础上,通过学生活动,得出该问题的算法,从而促进学生对算法概念的进一步理解,体会算法的特征,感受算法的价值.
师生活动:让学生将1997改为任意大于2的整数,改写算法,得出“判定整数n(n>2)是否为质数”的算法.
得出问题8算法(见教材例1算法)后,教师指出:
1.用四步就可以解决问题6的算法,虽然没有使我们直接看到结果,但可以由计算机去解决了.(理解定义中:算法通常可以编成计算机程序,让计算机执行并解决问题)
2.在解决问题过程中,对于反复进行的步骤,可以用递归语言进行描述. 此时,通常分三个步骤:首先要给一个初始值,接着表达重复做的事情,最后要进行终止判断.这类问题的背后含有算法的基本逻辑结构.
问题9.写出用 “二分法”求方程
的近似解的算法.
设计意图:二分法是算法中的经典问题,具有明显的顺序和可操作的特点.通过此例可以让学生进一步了解算法的逻辑结构,体会算法的思想,了解算法的的特征.同时也可以达到巩固用自然语言描述的算法,提高用自然语言描述算法的表达水平.
师生活动:教师引导学生分析在二分法求方程近似解过程中所包含的基本逻辑结构,尤其关注其中的循环结构和条件结构.(如果考虑时间比较紧,可以展示其算法.)
在设计算法的时候可以先不考虑精确度,在学生活动后,教师提出,在现有条件下,可以得到方程根存在的区间会越来越小,但我们的操作则永远不能停止.
因此,需要引入能够控制,使算法具备有“有限”的量,这就是精确度.
教师与学生共同得出本题算法:
第一步,令
.给定精确度
.
第二步, 给定区间
,满足
.
第三步,取中间点
.
第四步,若
则含零点的区间为
;否则含零点的区间为
.将新得到的含零点的仍然记为
.
第五步, 判断
的长度是否小于
或者
是否等于0.若是,则
是方程的近似解;否则,返回第三步.
在完成上述算法表达的基础上,教师指出:
1.如果没有精确度要求,该算法将无法终止.(通过精确度强调算法的“有限性”).
2.改变输入的函数表达式,给定精确度后,上面算法可以求所有方程的近似解,从而强调算法通常是针对解决一类问题而言的,具有普遍适用性.
(五)归纳小结
将本节的主要内容以问题的形式呈现,让学生通过思考和回答问题,达到回顾和总结的目的.
问题1:今天我们学习了算法的概念,从求解二元一次方程组的算法,到判断质数的算法,到二分法求方程近似解的算法,现在你能谈谈你对算法概念的认识吗?
设计意图:以此评价他们对算法的概念以及特征的领会情况.
标签:高二数学教案
威廉希尔app (51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。