我国著名数学家吴文俊院士曾指出,数学发展中有两种思想:一种是公理化思想,另一种是机械化思想。前者源于古希腊,后者则贯穿整个中国古代数学,这两种思想对数学发展都曾起过巨大作用。机械化的思想就是算法的思想。
计算机能模仿人的某些机械性部分的思维功能,能按一定的规则进行逻辑判断和推理,代替人脑的部分劳动,而且能更快更精确,把人从繁重的较简单的脑力劳动中解脱出来。但是计算机不能自主解决问题,它必须通过人输入各种程序来执行,这种程序的基础即是算法。
算法是按照一定规则解决某一问题的明确的有限的步骤。算法具有普遍性,它解决的是一类而不仅仅是一个具体的问题;由于算法最终要编成程序交于计算机执行,所以必须是明确和有限的步骤,否则计算机输不出结果,也就没有意义了。
本课设置的问题大体代表了算法的三种逻辑结构,由浅入深。
二、目标和目标解析
算法可以看作是对问题的另一种意义上的解,不仅简单地包括对问题的答案、还包括获得答案的过程、方法,而且此过程必须精确有效。因此算法的设计旨在发展学生对构造性数学的理解和对运算意义的理解,由此培养学生程序化地进行思考的习惯从而发展学生思维的逻辑性,条理性、精确性,并了解数学在计算机中的应用,提高对数学重要性的认识。
三、教学设计
教学过程
师生活动
设计意图
设置情境引入课题
问题1.1:A,B两个杯子里分别装有酒和醋,怎样可以交换,即让A,B里分别装有醋和酒?
解析:当然需要一个空杯子C。有两种方法:第一种是首先将A中的酒倒入C中,然后将B中的醋倒入A中,最后将C中的酒倒入B中,这样A,B中就分别装有醋和酒;第二种是首先将B中的醋倒入C中,然后将A中的酒倒入B中,最后将C中的醋倒入A中,同样也达到了目的。
让学生自己思考并说出自己的见解。
吸引学生注意力,引发学生探索的兴趣,通过一步一步地解决实际问题初步体会本节课将要学习的算法的思想。
探索实践建构知识
问题2.1:如何来解这个二元一次方程组呢?
①
②
解析:用消元法来一步步求解
第一步:①+②×2,得 . ③
第二步:解③,得.
第三步:②-①×2,得. ④
第四步:解④,得.
第五步:方程组解为
师:这是我们熟悉的一个具体的二元一次方程组,我们把这个问题推广一下,对于任意的一个二元一次方程组我们如何求解?
2.2:解下列二元一次方程组
?
?
其中.
解析:类比问题2.2,用消元法来一步步求解。
第一步:①× b2+②×b1,得 ③
第二步:解③,得.
第三步:②×a1-①×a2,得 ④
第四步:解④,得.
第五步:方程组解为
师:从解决上述两个问题的过程来看,大家有什么样的体会?每解决一个问题,其步骤是有限的吗?任何一个步骤是明确的吗?
生:都是一步一步求解的,步骤性很强。步骤是有限的、明确的。
师:是的。我们感觉有种程序化的味道,其实我们就要有意识地培养这种程序化地进行思考的习惯,因为在今天这样一个信息化的时代,计算机可以代替人大脑的部分劳动,比如快速准确地繁复的计算,一部分逻辑判断和推理等等。但计算机本身是不会解决问题的,所以首先需要人编好程序,然后交给计算机,计算机会按照程序执行,最终解决问题。因此我们要编好程序,这程序的雏形其实就如我们刚刚解决的这两个问题的过程,也就是今天我们要学习的算法。
算法从字面上来看,就是计算的方法。事实上,刚开始算法确实是用阿拉伯数字进行算术运算的过程,后来随着数学的发展,算法的概念也有所扩充,现在,在数学中,算法通常指按照一定规则解决某一类问题的明确的和有限的步骤。算法的优越处在于,它是解决一类问题的,比如问题2.1我们只是解决了一个二元一次方程组,而问题2.2我们解决了整个二元一次方程组,以后遇到任何一个二元一次方程组,我们只需将系数改变即可。不过在解决某一类问题之前先解决具体问题可以给我们一些启示。还有一个问题是,为什么要求明确和有限的步骤呢?因为算法最终要被编成程序交付计算机执行,所以步骤必须明确和有限,否则计算机执行不了或输不出结果,这样的话就没有意义了。
所以我们在编算法的时候应该遵循上述原则。
教师强调在求解的时候写出精确的步骤,解决后,引导学生总结二元一次方程组的一般解法。
根据刚才的总结,让学生自己求解。
教师引导学生总结解决上述问题时的体会,然后教师总结。
从解决熟悉的二元一次方程组得到启发,从而解决一般的二元一次方程组,体会一步一步地解决一类问题的想法。
主要突出
顺序结构
范例讲解巩固检测
问题3.1:设计一个算法求的值。
解析:根据绝对值的定义求解。
第一步:给定.
第二步:判断是否大于或等于0,若是,则;若否,则.
问题4.1:设计一个算法判断7是否为质数。 解析:质数是只能被1和自身整除的大于1的整数。所以直接的想法是分别用2、3、4、5、6去除7,看其中有没有数可以整除7,若有,则说明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是质数.
练习4.2:设计一个算法判断35是否为质数. 问题4.3:设计一个算法判断n(n>2)是否为质数.解析:学生可能会仿照仿照上述两个问题用~去除n.,然后判断余数(设为r)的情况.如下:
第一步:用2除n,得余数r.判断r是否为0,若是,则n不是质数;若否,则进行下一步.
第二步:用3除n,得余数r.判断r是否为0,若是,则n不是质数;若否,则进行下一步.
……
第步;用除n,得余数r.判断r是否为0,若是,则n不是质数;若否,则进行下一步.
第步;用除n,得余数r.判断r是否为0,若是,则n不是质数;若否,则n是质数.
但问题是中间被“……”代替的步骤是不确定的.所以我们需要改进.在整个过程中有一些看似重复的步骤,而且n不象上述两个例子是确定的数,所以我们可以用变量i表示~的数,用一种循环的想法来写算法.
第一步:给定整数n(n>2).
第二步:令i=2.
第三步;用i除n,得到余数r.
第四步;判断r=0是否成立.若是,则n不是质数,结束算法;否则将i的值增加1,仍用i表示.
第五步;判断i>(n-1)是否成立.若是,则n是质数,结束算法;否则返回第三步.
学生练习
教师引导学生尝试着写出步骤,让学生讨论能否简化此算法。
主要突出
条件结构
主要突出
循环结构
总结提炼提高能力
今天我们学习了算法,知道了在数学中,算法通常指按照一定规则解决某一类问题的明确的和有限的步骤。我们设计了几个算法,也体会到了算法的层次分明。算法可以看作是对问题的另一种意义上的解,不仅简单地包括对问题的答案、还包括获得答案的过程、方法,而且此过程必须精确有效。编算法的过程也是我们程序化地进行思考的过程,这使我们的思维更有逻辑性,条理性、精确性。所以课下请大家多思考,勤练习。
组织学生讨论这节课的收获。
布置作业探究延续
P5.1,2
本文来自:逍遥右脑记忆 http://www.jiyifa.net/gaozhong/204860.html
相关阅读:如何学好高一数学 巧用时间打基础