- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 算法初步
算法与程序图框
算法的含义:在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。比如解方程的算法、函数求值的算法、作图的算法, 等等。
例子:
例1 任意给定一个大于1 的整数n,试设计一个程序或步骤对n 是否为质数1做出判定。算法分析:根据质数的定义,很容易设计出下面的步骤:
第一步:判断n 是否等于 2,若n=2,则n 是质数;若n2,则执行第二步。
第二步:依次从 2 至(n-1)检验是不是n 的因数,即整除n 的数,若有这样的数,则n 不是质数;若没有这样的数,则n 是质数。
这是判断一个大于 1 的整数n 是否为质数的最基本算法。例 2 用二分法设计一个求议程x2–2=0 的近似根的算法。
算法分析:回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝对值不超过 0.005,则不难设计出以下步骤:
第一步:令f(x)=x2–2。因为f(1)0,f(2)0,所以设x =1,x =2。
1 2
第二步:令m=(x +x )/2,判断f(m)是否为 0,若则,则m 为所长;若否,则继续判断
1 2
f(x )·f(m)大于 0 还是小于 0。
1
第三步:若f(x )·f(m)0,则令x =m;否则,令x =m。
1 1 2
第四步:判断|x –x |0.005 是否成立?若是,则x 、x 之间的任意取值均为满足条件的近
1 2 1 2
似根;若否,则返回第二步。
例 3 写出解二元一次方程组 的算法2x+y=1②
解:第一步,②-①×2 得 5y=3;③ 第二步,解③得y=3/5;
第三步,将y=3/5 代入①,得x=1/5
学生做一做:对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善?
老师评一评:本题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方
?A x ? B y ? C ? 0
程组的解法。下面写出求方程组? 1 1
1 ( A B
B A
? 0) 的解的算法:
?A x ? B y ? C ? 0 1 2 1 2
2 2 2
第一步:②×A -①×A ,得(A B -A B )y+A C -A C =0;③
1 2 1 2 2 1 1 2 2 1
A C ? A C
第二步:解③,得 y ? 2 1 2 2 ;
A B ? A B
1 2 2 1
A C ? A C
B C ? B C
第三步:将 y ? 2 1 2 2 代入①,得 x ?
2 1 1 2 。
A B ? A B A B ? A B
1 2 2 1 1 2 2 1
此时我们得到了二元一次方程组的求解公式,利用此公司可得到倒2 的另一个算法: 第一步:取A1=1,B1=-2,C1=1,A2=2,B2=1,C2=-1;
B C
B C
A C ? A C
12第二步:计算 x ?
1
2
A B ? A B
与 y ? 2 1
2122A B
2
1
2
2
A B
1 2 2 1 1 2 2 1
第三步:输出运算结果。
可见利用上述算法,更加有利于上机执行与操作。
基础知识应用题
例 4 写出一个求有限整数列中的最大值的算法。解:算法如下。
S1 先假定序列中的第一个整数为“最大值”。
S2 将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值,”这时你就假定“最大值”是这个整数。
S3 如果序列中还有其他整数,重复S2。
S4 在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值。
学生做一做 写出对任意 3 个整数a,b,c 求出最大值的算法。
老师评一评 在例 2 中我们是用自然语言来描述算法的,下面我们用数学语言来描述本题的算法。
S1 max=a
S2 如果bmax, 则max=b. S3 如果Cmax, 则max=c.
S4 max 就是a,b,c 中的最大值。综合应用题
例 5 写出求 1+2+3+4+5+6 的一个算法。
分析:可以按逐一相加的程序进行,也可以利用公式 1+2+…+n= 根据加法运算律简化运算过程。
解 : 算 法 1: S1:计算 1+2 得到 3;
S2:将第一步中的运算结果 3 与 3 相加得到 6;
S3:将第二步中的运算结果 6 与 4 相加得到 10; S4:将第三步中的运算结果 10 与 5 相加得到 15; S5:将第四步中的运算结果 15 与 6 相加得到 21。算法 2:
S1:取n=6;
n(n ? 1)
n(n ? 1) 2
进行,也可以
S2:计算 ;
2
S3:输出运算结果。算法 3:
S1:将原式变形为(1+6)+(2+5)+(3+4)=3×7;
S2: 计 算 3×7; S3:输出运算结果。
小结:算法 1 是最原始的方法,最为繁琐,
您可能关注的文档
最近下载
- EN 1337-3:2005 结构支座-第三部分:橡胶支座 (中文版).pdf VIP
- 小学一年级语文上册知识点(通用13篇).doc VIP
- 普通职员月度工作总结.docx VIP
- 2025至2030黄金珠宝首饰行业运营态势与投资前景调查研究报告.docx
- 小区供热工程毕业设计开题报告.pdf VIP
- 企业工会助推企业高质量发展.docx VIP
- GB_T230.1-2018金属材料 洛氏硬度试验 第1部分:试验方法11.pdf
- 基于核心素养的小学数学单元教学目标制定与实施策略教学研究课题报告.docx
- 手术病理标本前处理流程2023.pptx VIP
- 【招聘管理体系设计】摩托罗拉的招聘.pdf VIP
原创力文档


文档评论(0)