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+…+=
直接计算:
第一步:取=5;
第二步:计算;
第三步:输出运算结果.
解(算法3)按照累积相加的程序进行:
第一步:让S=0,I=1
第二步:将S+I的值赋给S,I的值增加1
第三步:如果I比5大,则输出S,否则转第二步.
(说明算法不唯一)
|

解:S1 ②-①×2得3y=-3;③
S2 解③得y=-1;
3S 将y=-1代入①,得x=4.
对于一般的二元一次方程组来说,上述步骤是否具有一般性?应该怎样进一步完善?
点评:本题的算法是由加减消元法求解的,为了使这个算法适合一般的二元一次方程组的解,可以改为:
S1
方程①不动,将方程②中x的系数除以方程①中x的系数,可得乘数;
S2
方程②减去乘以方程①,消去方程②中的x项,得到
;
S3 将上面的方程组自下而上回代求解,得到y=-1,x=4.
S4
写出方程组的解.
这种消元回代的算法使用一般线形方程组的求解——说明算法的普遍性.
|

第一步:②×A1-①×A2,得(A1B2-A2B1)y+A1C2-A2C1=0;③
第二步:解③,得;
第三步:将代入①,得
。
此时我们得到了二元一次方程组的求解公式,利用此公司可得到问题5的另一个算法:
第一步:取A1=1,B1=-2,C1=1,A2=2,B2=1,C2=-1;
第二步:计算与
第三步:输出运算结果。
可见利用上述算法,更加有利于上机执行与操作。
三.建构数学
通过对以上几个问题的分析,我们对算法有了一个初步的了解.在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.
在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
问题:我们要解决解决一类问题,我们可以抽象出其解题步骤或计算序列,他们有什么样的要求?
(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 直到序列中没有可比的数为止,这时假定的"最大值"就是序列的最大值.
或写成:
S1 max=a;
S2 如果b>max,则max=b;
S3 如果c>max,则max=c;
S4 max就是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 输入任意正实数;S2 计算
;S3 输出圆的面积
.
(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 ,课本习题