- 651.00 KB
- 2022-08-05 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
算法的概念\n要把大象装冰箱,分几步?问:\n答:分三步:第一步:打开冰箱门第二步:把大象赶入冰箱第三步:关上冰箱门\n1、现有九枚硬币,有一枚略重,你能用天平(不用砝码)将其找出来吗?设计一种方法,解决这一问题.一、问题情境第一步:把九枚硬币平均分成三份,取其中两份放天平上称,若平衡则重的在剩下的一份里,若不平衡则在重的一份里;第二步:在重的一份里取两枚放天平的两边,若平衡则剩下的一枚就是所找的,若不平衡则重的那枚就是所要找的。\n问题提出\n问题提出\n问题提出\n问题提出\n问题提出\n问题提出\n问题情境×【2】“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问:雉兔各几何?”\n解决问题×【2】“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问:雉兔各几何?”解:设笼子里有鸡只,兔子只.列得解得答:笼子中有鸡23只,兔12只.式设列解答:\n解决问题×解方程第一步,由(1)得第二步,将(3)代入(2)得第三步,解(4)得第四步,将(5)代入(3)得第五步,得到方程组的解得\n解决问题×解方程第一步,第二步,第三步,第四步,第五步,得到方程组的解得\n问3:参照上述思路,一般地,解方程组的基本步骤是什么?②①\n第一步,①×-②×,得.③第二步,解③,得.第三步,②×-①×,得.④第四步,解④,得.第五步,得到方程组的解为\n根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行,这五个步骤就构成了解二元一次方程组的一个“算法”.我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组.\n算法的概念算法(algorithm)这个词出现于12世纪,指的是用阿拉伯数字进行算术运算的过程.广义地说:为了解决某一问题而采取的方法和步骤,就称之为算法。\n在数学上,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.\n例1、给出求1+2+3+4+5的一个算法。算法1:S1:计算1+2得到3;S2:将第一步中的运算结果3与3相加得到6;S3:将第二步中的运算结果6与4相加得到10;S4:将第三步中的运算结果10与5相加得到15;算法2:S1:取n=5;S3:输出运算结果。S2:计算\n1有限性:一个算法应在执行有限个步骤后必须结束.2确定性:算法中每一个步骤和次序应当是确定的.算法的主要特点3不唯一性:对于一个问题可以有不同的算法\n问5:有人对哥德巴赫猜想“任何大于4的偶数都能写成两个质数之和”设计了如下操作步骤:第一步,检验6=3+3,第二步,检验8=3+5,第三步,检验10=5+5,……利用计算机无穷地进行下去!请问:这是一个算法吗?\n算法的描述1、自然语言2、框图(流程图)3、程序设计语言低级语言高级语言\n算法的步骤设计:例1:如果让计算机判断7是否为质数,如何设计算法步骤?第一步,用2除7,得到余数1,所以2不能整除7.第四步,用5除7,得到余数2,所以5不能整除7.第五步,用6除7,得到余数1,所以6不能整除7.第二步,用3除7,得到余数1,所以3不能整除7.第三步,用4除7,得到余数3,所以4不能整除7.因此,7是质数.\n例2:如果让计算机判断35是否为质数,如何设计算法步骤?第一步,用2除35,得到余数1,所以2不能整除35.第二步,用3除35,得到余数2,所以3不能整除35.第三步,用4除35,得到余数3,所以4不能整除35.第四步,用5除35,得到余数0,所以5能整除35.因此,35不是质数.\n探究:任意给定一个大于1的整数n,试设计一个算法判断n是否为质数算法分析:第一步,给定大于2的整数n第二步,令i=2第三步,用i除n,得到余数r第四步,判断“r=0”是否成立,若是,则n不是质数,结束算法;否则令i=i+1第五步,判断“i>(n-1)”是否成立,若是,则n是质数,结束算法;否则返回第三步\n例3:写出用二分法求方程x2-2=0(x>0)的近似根的算法.算法分析:第一步:令f(x)=x2-2.给定精确度ε第二步:确定a,b.使得f(a)f(b)<0第三步:令第四步:若f(a)f(m)>0,则a=m;否则,b=m.第五步:判断|a-b|<ε或f(m)=0是否成立?若是,则m为满足条件的近似根;否则,则返回第二步.\n练习一:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.算法分析:第一步:输入任意一个正实数r;第二步:计算以r为半径的圆的面积S=πr2;第三步:输出圆的面积.\n练习二::y与x之间的函数关系为:(当x≤7时)(当x>7时)求该函数值的算法分析:第一步:输入x;第二步:判断x是否不超过7.若是,则y=1.2x;若否,则y=1.9x-4.9.第三步:输出y.设计一个求该函数值的算法.\n练习三:任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.算法步骤:第一步,给定一个大于l的正整数n.第=步,令i=1.第三步,用i除n.得到余数r.第四步,判断“r=0”是否成立.若是,则i是n的因数;否则,i不是n的因数.第五步,使i的值增加l,仍用i表示.第六步,判断“i>n”是否成立.若是,则结束算法;否则,返回第三步.\n1.有A、B、C三个相同规格的玻璃瓶,A装着酒精,B装着醋,C为空瓶,请设计一个算法,把A、B瓶中的酒精与醋互换.\n2.已知,,写出求直线AB斜率的一个算法解:S1: 输入x1,x2,y1,y2的值.S2:计算Δx=x2-x1,Δy=y2-y1.S3:若Δx=0,则输出斜率不存在;否则,k=S4: 输出斜率k.