《111算法的概念课件》由会员分享,可在线阅读,更多相关《111算法的概念课件(16页珍藏版)》请在金锄头文库上搜索。
1、1.1.1算法的概念1、把冰箱门打开、把冰箱门打开 2、把大象装进去、把大象装进去 3、把冰箱门关上、把冰箱门关上 我们做任何一件事,都是在一定的条件下按某种顺序执行的一系列操作。解决数学问题也常常如此。解出二元一次方程组解出二元一次方程组我们求解这个方程组我们求解这个方程组, ,步骤是步骤是: :第一步第一步: :(1)+(2)(1)+(2)22,得:,得:5x=1(3)5x=1(3)这种消元回代的算法适用于一般的二元一次方程组的解法这种消元回代的算法适用于一般的二元一次方程组的解法. .推广到一般的方程组推广到一般的方程组引例:解二元一次方程组引例:解二元一次方程组第二步:解第二步:解(3
2、)(3),得:,得:x=x=第三步:第三步:(2)-(1)2(2)-(1)2,得:,得:5y=3(4)5y=3(4)第四步:解(4),得y=第五步:得到方程组的解为我们可以写出求下方程组的一般步骤我们可以写出求下方程组的一般步骤. .第三步:b2-b1,得第四步:解第四步:解,得:,得:第五步:得到方程的解为第五步:得到方程的解为方法方法2 2:求下方程组的一般步骤:求下方程组的一般步骤. .第三步:第三步: 将将代入代入,解得,解得第四步:得到方程的解为第四步:得到方程的解为 上述步骤构成了解二元一次方程上述步骤构成了解二元一次方程组的一个组的一个算法,算法,我们可以进一步我们可以进一步根据
3、这一算法编制计算机程序,根据这一算法编制计算机程序,就能借助计算机极大地提高解决问题的速度。算法的概念算法的概念 算法通常指可以用来解决某一类问题算法通常指可以用来解决某一类问题的步骤或程序,这些步骤或程序必须是的步骤或程序,这些步骤或程序必须是明确的和有效的,而且能够在有限步之明确的和有效的,而且能够在有限步之内完成的。内完成的。算法的主要特征:有限性、确定性、逻辑性、不唯一性、普适性比较上二种算法比较上二种算法, ,算法算法2 2更简单更简单, ,步骤少步骤少, ,所以利用公式解决问题是所以利用公式解决问题是最理想、合算的算法最理想、合算的算法. .因此在寻求算法的过程中因此在寻求算法的过
4、程中, ,首先是利用公式首先是利用公式. .例1 给出求1+2+3+4+5的一个算法.算法算法1 按照逐一相加的程序进行按照逐一相加的程序进行. 第一步计算1+2,得到3;第二步将第一步中的运算结果3与3相加,得到6;第三步将第二步中的运算结果6与4相加,得到10;第四步将第三步中的运算结果10与5相加,得到15.第一步:取n=5;第二步:计算;第三步:输出运算结果.算法算法2 可以运用公式可以运用公式1+2+3+n= 直接计算直接计算. 练一练1 1、任意给定一个正实数、任意给定一个正实数, ,设计一个算法设计一个算法求以这个数为半径的圆的面积求以这个数为半径的圆的面积. .第三步,输出圆的
5、面积S第一步,输入任意一个正实数r;第二步,计算圆的面积:例例2 2、(1)(1)设计一个算法设计一个算法, ,判断判断7 7是否为质数是否为质数. . (2) (2)设计一个算法设计一个算法, ,判断判断3535是否为质数是否为质数 (1) (1)的算法如下的算法如下: : 第一步第一步, ,用用2 2除除7,7,得到余数得到余数1.1.因为余数不为因为余数不为0,0,所以所以2 2不能整除不能整除7.7. 第二步第二步, ,用用3 3除除7,7,得到余数得到余数1.1.因为余数不为因为余数不为0,0,所以所以3 3不能整除不能整除7 7 第三步第三步, ,用用4 4除除7,7,得到余数得到
6、余数3.3.因为余数不为因为余数不为0,0,所以所以4 4不能整除不能整除7 7 第四步第四步, ,用用5 5除除7,7,得到余数得到余数2.2.因为余数不为因为余数不为0 0,所以,所以5 5不能整除不能整除7 7 第五步第五步, ,用用6 6除除7,7,得到余数得到余数1.1.因为余数不为因为余数不为0,0,所以所以6 6不能整除不能整除7 7。因此,。因此,7 7是质数。是质数。 (2)的算法如下的算法如下: 第一步第一步,用用2除除35,得到余数得到余数1.因为余数不为因为余数不为0, 所以所以2不能整除不能整除35. 第二步第二步,用用3除除35,得到余数得到余数2.因为余数不为因为
7、余数不为0, 所以所以3不能整除不能整除35. 第三步第三步,用用4除除35,得到余数得到余数3.因为余数不为因为余数不为0, 所以所以4不能整除不能整除35. 第四步第四步,用用5除除35,得到余数得到余数0.因为余数为因为余数为0, 所以所以5能整除能整除35.因此因此,35不是质数不是质数. 变式:任意给定一个大于1的整数n,试设计一个算法,对n是否为质数做出判断.解:第一步:给定大于1的整数n,第三步:令第三步:令i=2第四步:用i除n,得到余数r第二步:判断n是否等于2.若n=2,则n是质数;若n2,则执行第三步.第五步:判断“r=0”是否成立,若是,则n不是质数,结束算法;否则,将
8、i的值增加1,仍用i表示。第六步:判断i(n-1)是否成立。若是,则n是质数,结束算法;否则返回第三步例3 用二分法求解方程x220(x0)的近以 解的算法.算法描述第一步第一步 令令f(x)=x2-2,给出精确度,给出精确度d第二步第二步 确定区间确定区间a,b,满足满足f(a)f(b)0.第四步第四步 若若f(a)f(m)0,则零点在区间则零点在区间a,m,a,m,否则否则,零点零点在区在区间间m,b.将新得到的含零点的区间记为将新得到的含零点的区间记为a,b.a,b.第三步第三步 取区间中点取区间中点m=第五步第五步 看看a,ba,b的长度是否小于的长度是否小于d d或或f(m)f(m)是否等于是否等于0,0,若是若是, ,则则m m是方程的近以解是方程的近以解; ;否则返回第三步否则返回第三步. .练一练2 2、任意给定一个大于、任意给定一个大于1 1的整数的整数n n,设计一个算法求,设计一个算法求出出n n的所有因数。的所有因数。课堂小结1.算法的概念2.算法的主要特征:有限性、确定性.、逻辑性、不唯一性、普适性