- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.1.1算法的概念 3
1.1.1算法的概念
问题提出
(2)解二元一次方程组:
思考
在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题。
1.算法的概念
讲授新课
2.算法的基本特征:明确性、可行性、有限性、
数据输入、信息输出、不唯一性。
明确性:算法的每一步要做什么必须是明确的,不能含糊不清、模棱两可.
可行性:算法的每一个步骤都能够通过基本运算有效地进行,并得到确定的结果;对于相同的输入,无论谁执行算法,都能够得到相同的最终结果.
有限性:算法必须由有限步组成,至少对某些输入,算法应在有限多步内结束,并给出计算结果.如果需要在无限步完成,就失去了实际意义。
信息输出:一个算法至少要有一个有效的信息输出,这就是问题求解的结果.
不唯一性:求解某一个题的解法不一定是唯一的, 对于一个问题可以有不同的算法.
数据输入:算法一定要根据输入的初始数据或给定的初值才能正确执行它的每一步骤.
3.描述算法的一般步骤:
①输入数据.(若数据已知时,应用赋值;若数
据为任意未知时,应用输入) ②数据处理.
③输出结果.
4.算法的描述:
描述算法可以有不同的方式,常用的有自然语言、程序框图、程序设计语言
(1)自然语言
(2)程序框图
(3)程序设计语言
1.1.2程序框图中讲解
1.2基本算法语句中讲解
自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等.用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解.缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了.
(1)设计一个算法,判断7是否为质数;
(2)设计一个算法,判断35是否为质数;
算法分析:(1)根据质数的定义,可以这样判断:依次用2~6
除7,如果它们中有一个能整除7,则7不是质数,否则是质数。
根据以上分析,可写出如下的算法:
第一步,用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是否为质数”的算法:
第一步,用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不是质数 .
想一想.任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定.
第一步:判断n是否等于2.若n=2,则n是质数;若n2,则执行第二步.
第二步:依次从2~(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数.
评析:这是判断一个大于1的整数n是否为质数的最基本算法.
讲授新课
例2.用二分法设计一个求方程 x2-2=0 的近似根的算法.
第一步:令f(x)=x2-2,因为f(1)0,f(2)0,所以设a=1,b=2.
第二步:令m= , 判断f(m)是否为0.若是,则m为所求;若否,则继续判断f(a)·f(m)大于0还是小于0.
算法分析:回顾二分法解方程的过程,并假设所求近似根与精确解的差的绝对值不超过0.005,则不难设计出以下步骤:
讲授新课
第三步:若f(a)·f(m) 0,则令a=m;否则,令b=m.
第四步:判断 |a-b|0.005是否成立?若是,则a或b(或任意值)为满足条件的近似根;若否,则返回第二步.
评析:实际上,上述步骤就是在求 的近似值.
讲授新课
于是开区间中的实数都是满足假设条件的原方程的近似根.
1.任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.
第一步:输入任意一个正实数r;
第二步:计算圆的面积: S=πr2;
第三步:输出圆的面积S.
课堂练习
2.任意给定一个大于1 的正整数n,设计一个算法求出n的所有因数.
第一步:依次以2~(n-1)为除数去除n,检查余数是否为0,若是,则是n的因数;若不是,则不是n的因数.
第二步:在n的因数中加入1和n.
第三步:输出n的所有因数.
课堂练习
【1】用自然语言描述求一元二次方程 ax2+bx+c=0 的根的算法.
第一步:计算Δ=b2-4ac;
第二步:如果Δ0,则原方程无实数解 ;否则(Δ≥0)
文档评论(0)