(共27张PPT)
1.1.1算法的概念
问题1:
假如你的朋友不会发电子邮件,
你能教会他吗?
dzn
算法的含义
一般地,对于一项任务,按照事先设计好的步骤,一步一步的执行,并在有限步内完成任务,则这些步骤称为完成该任务的一个算法。
所谓 “算法”就是解题方法的精确描述.从更广义的角度来看,并不是只有“计算”的问题才有算法,日常生活中处处都有.如乐谱是乐队演奏的算法,菜谱是做菜肴的算法,珠算口诀是使用算盘的算法.
按照这样的理解,我们可以设计出很多具体数学问题的算法.下面看几个例子:
第一步:①+2×②得: 5x=1 ③
第三步:②-①×2得: 5y=3 ④
也可以按照上述步骤来求解.这些步骤就构成了解二
元一次方程组的算法.
变一变:
其他解法?
解法二:
第一步:
第二步:
第三步:
将④带入①得
变一变:
解法一:
加减消元法
代入消元法
算法的含义
在数学中,算法通常指按照一定规则解决某一类问题的明确和有限的步骤.
现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
例1(1)设计一个算法,判断7是否为质数;
(2)设计一个算法,判断35是否为质数。
第一步,用2除7,得到余数1。因为余数不为0,所以2不能整除7。
第二步,用3除7,得到余数1。因为余数不为0,所以3不能整除7。
第三步,用4除7,得到余数3。因为余数不为0,所以4不能整除7。
第四步,用5除7,得到余数2。因为余数不为0,所以5不能整除7。
第五步,用6除7,得到余数1。因为余数不为0,所以6不能整除7。
因此,7是质数。
讲授例题
第一步,用2除35,得到余数1。因为余数不为0,所以2不能整除35。
第二步,用3除35,得到余数2。因为余数不为0,所以3不能整除35。
第三步,用4除35,得到余数3。因为余数不为0,所以4不能整除35。
第四步,用5除35,得到余数0。因为余数为0,所以5能整除35。
因此,35不是质数。
(2)设计一个算法,判断35是否为质数。
探究:你能写出“判断整数n(n>2)是否为质数”的算法吗?
第一步,给定大于2的整数n.
第二步,令i=2.
第三步,用i除n,得到余数r,判断余数r是否为0.若是,则n不是质数,结束算法;否则将i的值增加1,仍用i表示。
第四步,判断i是否大于(n-1),若是,则n是质数;否则,返回第三步。
二分法
对于区间[a,b ]上连续不断、且f(a)f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫做二分法.
例2.写出用“二分法” 求方程 x2-2=0 (x>0)的近似解的算法.
把函数f(x)的零点所在的区间[a,b] “一分为二”,得到
[a,m]和[m,b].根据“f(a)f(m)<0”是否成立,取出零点所在的
区间 [a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步
骤,直到包含零点的区间[a,b] “足够小”,则[a,b] 内的数可以作
为方程的近似解.
例2.写出用“二分法” 求方程 x2-2=0 (x>0)的近似解的算法.
第一步:令f(x)=x2-2,给定精确度d.
第五步,若f(a)·f(m)<0,则含零点的区间为[a,m];否则含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].
第二步,确定区间[a,b],满足f(a) ·f(b)<0
第六步,判断[a,b]的长度是否小于d;若是,则a或b是方程的近似解;否则,返回第三步.
第四步,判断f(m)是否为0,若是,则m为所求;若否,则判断f(a)·f(m)的符号.
按照以上步骤,我们将得到下表:
当d=0.005时
a b m f(m) d
1 2 1.5 0.25 1
1 1.5 1.25 -0.4375 0.5
1.25 1.5 1.375 -0.109375 0.25
1.375 1.5 1.4375 0.06640625 0.125
1.375 1.4375 1.40625 -0.02246094 0.0625
1.40625 1.4375 1.421875 0.021728516 0.03125
1.40625 1.421875 1.4140625 -0.00042725 0.015625
1.4140625 1.421875 1.41796875 0.010635376 0.0078125
1.4140625 1.417969 1.41601563 0.00510025 0.00390625
2. 算法的特性:
(1)有限性:
一个算法应包括有限的操作步骤,能在执行有限的操作步骤之后结束。
1.算法的概念(狭义的):
在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
课堂小结
2. 算法的特性:
(1)有限性:
算法的计算规则及相应的计算步骤必须是唯一确定的,既不能含糊其词,也不能有歧义性。
(2)确定性:
算法的含义
2. 算法的特性:
(1)有限性:
算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果。
(2)确定性:
(3)可行性:
算法的含义
2. 算法的特性:
(1)有限性:
求解某一个问题的方法不一定是惟一的,对于同一个问题可以有不同的算法。
(2)确定性:
(3)可行性:
(4)不惟一性:
算法的含义
问题:
1. 假如你的朋友不会发电子邮件,
你会教他吗?
第一步 打开电子邮箱;
第二步 点击“写邮件”;
第三步 输入发送地址;
第四步 输入主题;
第五步 输入信件内容;
第六步 点击“发送邮件”。