c语言-第二章算法.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 算 法 程序构成 数据结构+算法=程序 程序=算法+数据结构+程序设计方法+语言工具和环境 软件构成 程序+文档= 软件 2.1 算 法的概念 算法 算法:计算机为解决一个问题而采取的方法和步骤,就称为算法 算法是解决“做什么”和“怎么做”的问题。 算法的分类:数值运算算法和非数值运算算法。 数值运算算法:求解数值(成熟); 非数值运算算法:事务管理领 (广泛)占80%. 2.2 简单算法举例 【例2.1】求1×2×3×4×5。 最原始方法: 步骤1:先求1×2,得到结果2。 步骤2:将步骤1得到的乘积2乘以3,得到结果6。 步骤3:将6再乘以4,得24。 步骤4:将24再乘以5,得120。 这样的算法虽然正确,但太繁。 改进的算法: S1: 使t=1 S2: 使i=2 S3: 使t×i, 乘积仍然放在在变量t中,可表示为t×i→t S4: 使i的值+1,即i+1→I S5: 如果i≤5, 返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。 如果计算100!只需将S5:若i≤5改成i≤100即可。 如果该求1×3×5×7×9×11,算法也只需做很少的改动: S1: 1→t S2: 3→i S3: t×i→t S4: i+2→i S5:若i≤11, 返回S3,否则,结束。 该算法不仅正确,而且是计算机较好的算法,因为计算机是高速运算的自动机器,实现循环轻而易举。 思考:若将 S5写成:S5:若i<11, 返回S3;否则,结束。 例[2.2]求 算法可表示如下: S1: sigh=1 S2: sum=1 S3: deno=2 S4: sigh=(-1)×sigh S5: term= sigh×(1/deno ) S6: term=sum+term S7: deno= deno +1 S8:若deno≤100,返回S4;否则,结束。 2.3 算法的特性 一个算法就当具有以下五个特性:  1.有穷性。一个算法就包含有限个操作步骤。  2.确定性。每一条指令必须有确切的含义,相同的输入 必能得出相同的执行结果。  3.可行性。算法中指定的操作,都可以通过已经实现的 基本运算执行有限次后实现  4.有零个或多个输入。  5.有一个或多个输出。 2.4 算法的表示 算法表示方法 1。自然语言:用自然语言描述算法,就是人们日常使用的语言。 优点:表达通俗易懂 缺点:文字冗长,容易出现 “歧义” 2.流程图  优点:形象直观,简单方便。  缺点:对走向没有限制,所占篇幅多,不易阅读 工具:如下列图片构成 将例2.1求5!的算用流程图表 2.4.3 结构化程序设计和模块化结构 结构化程序:由三种基本结构组成  1.顺序结构:在程序中按先后顺序逐条执行,不转向  下图左为一般流程图,或为N-S流程图。 2.选择结构:根据不同的条件执行不同分支中的语句。 3.循环结构:根据条件使同一组语句重复执行多次或不执行。 三种基本结构的共同特点: 只有一个入口; 只有一个出口; 结构内的每一部分都有机会被执行到; 结构内不存在“死循环”。 2.5结构化程序设计方法 自顶向下; 逐步细化; 模块化设计; 结构化编码。 课堂练习: 计算2/1,-3/2,5/3,-8/5,13/8,-21/13的前6项的和 1. main() {float a=2,b=1,sum=0,t; int sign=1,i; for(i=1;i=6;i++) {sum=sum+a/b*sign; sign=-sign; t=a; a=a+b; b=t; } printf(%f,sum); } * 开始或终止框 处理框 输入输出框 判断框 流程线 连接点 N-S结构图:下一节介绍 语句1 语句2 语句1 语句2 判断表达式 语句1 T 语句1 F 判断表达式 T F 语句1 语句2 判断表达式 A T F A T 当型循环 直到型循环 判断表达式 A F T A T

文档评论(0)

hufengderen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档