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