5.1高一数学算法的含义【教学目标】1.通过实例体会算法的思想,了解算法的含义;2.能按步骤用自然语言写出简单问题的算法过程;3.了解算法的主要特点(有限性和确定性).【教学重、难点】通过实例体会算法思想,初步理解算法的含义,算法概念以及用自然语言描述算法.【教学过程】一.问题情境问题1:写出你在家里烧开水的过程.一般地,第一步:把水注入电水壶;第二步:打开电源把水烧开;第三步:把烧开的水注入热水瓶.问题2:两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们四人都会划船,但都不会游泳。试问他们怎样渡过河去?请写出一个渡河方案.(通过学生讨论得出渡河方案与步骤如下)S1两个小孩同船过河去;S2一个小孩划船回来;S3一个大人划船过河去;S4对岸的小孩划船回来;S5两个小孩同船渡过河去;S6一个小孩划船回来;S7余下的一个大人独自划船渡过河去;对岸的小孩划船回来;S8两个小孩再同时划船渡过河去。问题3说出解一元一次方程的步骤.一般地,S1:去分母;S2:去括号;S3:移项;S4:合并同类项;S5:除以一次项的系数,得方程的解.二.学生活动广义地说为了解决某一问题而采取的方法和步骤,就称之为算法。做任何事情都有一定的步骤。例如:描述太极拳动作的图解,就是“太极拳的算法”;一首歌的乐谱,可以称之为该歌曲的算法.从小学到高中遇到的算法绝大多数都与“计算”有关的问题。问题4给出求1+2+3+4+5的一个算法.解(算法1):按照逐一相加的程序进行:第一步:计算1+2,得到3;第二步:将第一步中的运算结果3与3相加,得到6;第三步:将第二步中的运算结果6与4相加,得到10;第四步:将第三步中的运算结果10与5相加,得到15.解(算法2)可以运用公式1+2+3+…+n=2)1(nn直接计算:第一步:取n=5;第二步:计算2)1(nn;第三步:输出运算结果.5.1算法的含义2①②①②解(算法3)按照累积相加的程序进行:第一步:让S=0,I=1第二步:将S+I的值赋给S,I的值增加1第三步:如果I比5大,则输出S,否则转第二步.(说明算法不唯一)问题5给出求解方程组274511xyxy的一个算法.解:S1②-①×2得3y=-3;③S2解③得y=-1;3S将y=-1代入①,得x=4.对于一般的二元一次方程组来说,上述步骤是否具有一般性?应该怎样进一步完善?点评:本题的算法是由加减消元法求解的,为了使这个算法适合一般的二元一次方程组的解,可以改为:S1方程①不动,将方程②中x的系数除以方程①中x的系数,可得乘数422m;S2方程②减去m乘以方程①,消去方程②中的x项,得到2733xyy;S3将上面的方程组自下而上回代求解,得到y=-1,x=4.S4写出方程组的解41xy.这种消元回代的算法使用一般线形方程组的求解——说明算法的普遍性.下面写出求方程组)0(002121222111ABBACyBxACyBxA的解的算法:第一步:②×A1-①×A2,得(A1B2-A2B1)y+A1C2-A2C1=0;③第二步:解③,得12212212BABACACAy;第三步:将12212212BABACACAy代入①,得12212112BABACBCBx。此时我们得到了二元一次方程组的求解公式,利用此公司可得到问题5的另一个算法:第一步:取A1=1,B1=-2,C1=1,A2=2,B2=1,C2=-1;第二步:计算12212112BABACBCBx与12212212BABACACAy第三步:输出运算结果。可见利用上述算法,更加有利于上机执行与操作。三.建构数学通过对以上几个问题的分析,我们对算法有了一个初步的了解.在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.问题:我们要解决解决一类问题......,我们可以抽象出其解题步骤或计算序列,他们有什么样的要求?(1)算法与一般意义上具体问题的解法既有联系,又有区别,它们之间是一般和特殊的关系,也是抽象与具体的关系。算法的获得要借助一般意义上具体问题的求解方法,而任何一个具体问题都可以利用这类问题的一般算法来解决。(2)算法的五个特征①有限性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不能是无限地执行下去;②确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可的;③逻辑性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题;④不唯一性:求解某一个问题的算法不一定只有唯一的一个,可以有不同的算法;⑤普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限的、事先设计好的步骤加以解决.四.数学应用:例1写出求1×2×3×4×5的算法.解S1:先求1×2,得到结果2;S2:将步骤1得到的结果2再乘以3,得到6;S3:将步骤2得到的结果6再乘以4,得到结果24;S4:将步骤3得到的结果24再乘以5,得到120。另解※S1让S=1,I=1;S2将S×I的值赋给S,I的值增加1;S3如果I比5大,则输出S,否则转第二步.点评由于计算机是高速计算的自动机器,实现循环的语句.因此,上述算法2不仅是正确的,而且是在计算机上能够实现的较好的算法。在上面的算法中,S2,S3构成一个完整的循环,这里需要说明的是,每经过一次循环之后,变量S、I的值都发生了变化,并且循环一次之后都要在S3对I的值进行检验,一旦发现I的值大于5时,立即停止循环,同时输出最后一个S的值,对于循环结构的详细情况,我们将在以后的学习中介绍。例2写出一个求整数a、b、c最大值的算法.解S1先假定序列中的第一个数为最大值。S2将序列中的下一个整数值与最大值比较,如果大于最大值,这时就假定这个数为最大值.S3如果序列中还有其它整数,重复S2.S4直到序列中没有可比的数为止,这时假定的最大值就是序列的最大值.或写成:S1max=a;S2如果bmax,则max=b;5.1算法的含义4S3如果cmax,则max=c;S4max就是a、b、c的最大值.五.回顾反思1.算法的定义:一般地,对一类问题机械的、统一的求解方法称为算法.2.算法的主要特征:(1)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可的;(2)有限性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不能是无限地执行下去;其他如逻辑性、不唯一性、普遍性、具有输入和输出等.3.算法的表述形式:(1)用日常语言和数学语言或借助于形式语言(算法语言);(2)程序框图(简称框图);(3)程序语言.4.巩固练习(1)任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.(2)给出一个求1×3×5×7×9×11×13×15×17×19的一个算法.(3)有蓝和黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将其互换,请你设计算法解决这一问题。分析:由于两个墨水瓶中的墨水不能直接交换,故可以考虑通过引入第三个空墨水瓶的办法进行交换。参考答案:(1)S1输入任意正实数r;S2计算2rS;S3输出圆的面积S.(2)S1让S=1,I=1;S2将S×I的值赋给S,I的值增加2;S3如果I比19大,则输出S,否则转第二步.(3)S1取一只空的墨水瓶,设其为白色;S2将黑墨水瓶中的蓝墨水装入白瓶中;S3将蓝墨水瓶中的黑墨水装入黑瓶中;S4将白瓶中的蓝墨水装入蓝瓶中;S5交换结束.六.课后作业《数学之友》T5.1:1~12,课本习题