高中数学算法的概念复习 联系客服

发布时间 : 星期一 文章高中数学算法的概念复习更新完毕开始阅读a05a1d24773231126edb6f1aff00bed5b9f37391

1.1.1 算法的概念

一、教学目标: 1、知识与技能:(1)了解算法的含义,体会算法的思想。(2)能够用自然语言叙述算法。(3)掌握正确的算法应满足的要求。(4)会写出解线性方程(组)的算法。

2、过程与方法:通过求解二元一次方程组,体会解方程的一般性步骤,从而得到一个解二元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法。由于思考问题的角度不同,同一个问题也可能有多个算法,能模仿求解二元一次方程组的步骤,写出一个求有限整数序列中的最大值的算法。 二、重点与难点:

重点:算法的含义、解二元一次方程组和判断一个数为质数的算法设计。 难点:把自然语言转化为算法语言。 三、学法与教学用具:

学法:1、写出的算法,必须能解决一类问题(如:判断一个整数n(n>1)是否为质数;求任意一个方程的近似解;??),并且能够重复使用。

2、要使算法尽量简单、步骤尽量少。

3、要保证算法正确,且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的,但让计算机去执行“倒一杯水”“替我理发”等则是做不到的。 四、教学设想: 1、 创设情境:

算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。但是我们却从小学就开始接触算法,熟悉许多问题的算法。如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。我们知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,解线性方程组的算法,求两个数的最大公因数的算法等。因此,算法其实是重要的数学对象。 2、 探索研究

算法(algorithm)一词源于算术(algorism),即算术方法,是指一个由已知推求未知的运算过程。后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。 广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。比如解方程的算法、函数求值的算法、作图的算法,等等。 3、 例题分析:

例1 阅读课本例1,任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为

质数做出判定。

算法分析:根据质数的定义,很容易设计出下面的步骤:

第一步:判断n是否等于2,若n=2,则n是质数;若n>2,则执行第二步。

第二步:依次从2至(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数。

这是判断一个大于1的整数n是否为质数的最基本算法。

2

例2 用二分法设计一个求议程x–2=0的近似根的算法。

算法分析:回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝对值不超过0.005,则不难设计出以下步骤:

2

第一步:令f(x)=x–2。因为f(1)<0,f(2)>0,所以设x1=1,x2=2。

第二步:令m=(x1+x2)/2,判断f(m)是否为0,若则,则m为所长;若否,则继续判断f(x1)·f(m)大于0还是小于0。

第三步:若f(x1)·f(m)>0,则令x1=m;否则,令x2=m。

第四步:判断|x1–x2|<0.005是否成立?若是,则x1、x2之间的任意取值均为满足条件的近似根;若否,则返回第二步。

例3 给出求1+2+3+4+5的一个算法. 解: 算法1 按照逐一相加的程序进行.

算法2 运用公式1?2?3???n?n(n?1)直接计算. 2

算法3 用循环方法求和.

说明:①一个问题的算法可能不唯一.

②若将本例改为“给出求1?2?3???100的一个算法”,则上述算法2和算法3表达较为方便. 例4 给出求解方程组??2x?y?7的一个算法.

?4x?5y?11分析:解线性方程组的常用方法是加减消元法和代入消元法,这两种方法没有本质的差别,为了适用于解一般的线性方程组,以便于在计算机上实现,我们用高斯消元法(即先将方程组化为一个三角形方程组,在通过回代过程求出方程组的解)解线性方程组. 解:用消元法解这个方程组,步骤是:

第一步:方程①不动,将方程②中x的系数除以方程①中x的系数,得到乘数m?第二步:方程②减去m乘以方程①,消去方程②中的x项,得到

4?2; 2?2x?y?7; ?3y??3?第三步:将上面的方程组自下而上回代求解,得到y??1,x?4. 所以原方程组的解为??x?4.

?y??1?A1x?B1y?C1?0(A1B2?B1A2?0)的解的算法: 引申:下面写出求方程组?Ax?By?C?022?2

说明:(1).从例1、例2可以看出,算法具有两个主要特点: ①有限性:一个算法在执行有限个步骤后必须结束. “有限性”往往指在合理的范围之内,如果让计算机执行一个历时1000年才结束的算法,这虽然是有限的,但超过了合理的限度,人们也不把它视作有效算法.“合理限度”一般由人们的常识和需要以及计算机的性能而定. ②确定性:算法的每一个步骤和次序应当是确定的. 例如,一个健身操中一个动作“手举过头顶”,这个步骤就是不确定的、含糊的.是双手都举过头,还是左手或右手?举过头顶多少厘米不同的人可以有不同的理解.算法中的每一个步骤不应产生歧义,而应当是明确无误的.

(2).一般来说,算法应有一个或多个输出,算法的目的是为了求解,没有输出的算法是没有意义的.

例5 写出一个求有限整数列中的最大值的算法。

五.回顾小结

1.算法的概念:对一类问题的机械的、统一的求解方法.算法是由基本运算及规定的运算顺序所构成的完整的解题步骤,或者是按照要求设计好的有限的计算序列,并且这样的步骤或序列能解决一类问题. 2.算法的重要特征:

(1)有限性:一个算法在执行有限步后必须结束; (2)确切性:算法的每一个步骤和次序必须是确定的;

(3)输入:一个算法有0个或多个输入,以刻划运算对象的初始条件.所谓0个输入是

指算法本身定出了初始条件.

(4)输出:一个算法有1个或多个输出,以反映对输入数据加工后的结果.没有输出的

算法是毫无意义的. 六.课后作业

1.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容纳一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算法.

2.写出求1?111????的一个算法. 23100

3.已知A(x1,y1),B(x2,y2),写出求直线AB斜率的一个算法.

例题分析:

例3 给出求1+2+3+4+5的一个算法. 解: 算法1 按照逐一相加的程序进行. 第一步:计算1+2,得到3;

第二步:将第一步中的运算结果3与3相加,得到6; 第三步:将第二步中的运算结果6与4相加,得到10; 第四步:将第三步中的运算结果10与5相加,得到15. 算法2 运用公式1?2?3???n? 第一步:取n=5;

第二步:计算

n(n?1)直接计算. 2n(n?1); 2 第三步:输出运算结果.

算法3 用循环方法求和. 第一步:使S?1,; 第二步:使I?2; 第三步:使S?S?I;

第四步:使I?I?1;

第五步:如果I?5,则返回第三步,否则输出S. 说明:①一个问题的算法可能不唯一.

②若将本例改为“给出求1?2?3???100的一个算法”,则上述算法2和算法3表达较为方便.

1.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容纳一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算法.

解:算法或步骤如下: S1 人带两只狼过河; S2 人自己返回;

S3 人带一只羚羊过河; S4 人带两只狼返回; S5 人带两只羚羊过河; S6 人自己返回; S7 人带两只狼过河; S8 人自己返回; S9 人带一只狼过河.

111????的一个算法. 23100 解:第一步:使S?1,;

第二步:使I?2;

1 第三步:使n?;

I第四步:使S?S?n; 第五步:使I?I?1;

第六步:如果I?100,则返回第三步,否则输出S.

2.写出求1?2、求过P(a1,b1)、Q(a2,b2)两点的直线斜率有如下的算法: 第一步:取x1= a1,y1= b1,x2= a2,y1= b2;