1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
02算法

第二章 算法 第二章 算法 第一节 算法的概念 第二节 算法的特性 第三节 算法的表示方法 第四节 结构化程序设计方法 第一节 算法的概念 广义地说,为解决一个问题采取的方法和步骤。 计算机算法分类 数值算法 求方程的根 求函数的定积分 非数值算法 图书检索 人事管理 第二节 算法的特性 有穷性 算法要包含有限的步骤 确定性 每一步必须明确 有零个或多个输入 需要从外界获取必要的信息 有一个或多个输出 需要把求得得解进行输出 有效性 每一步都能有效地执行 第三节 算法的表示方法 设计算法 3.1 自然语言 3.2 传统流程图 3.3 改进的流程图 3.4 N-S图(盒图) 3.5 PAD图(问题分析图) 3.6 伪代码 实现算法 3.7 计算机语言 3.2 传统流程图 优点: 描绘直观,容易掌握 缺点: 对流程线没有严格控制 3.3 改进的流程图 3.4 N-S图(盒图) I.Nassi和B.Shneiderman提出 取消流程线,不能任意转移控制 使用N-S符号设计出来的程序必然是结构化程序 容易表示嵌套关系 容易确定局部和全局数据的作用域 N-S的基本符号 3.5 PAD图(问题分析图) 用二维树型结构表示 使用PAD符号设计出来的程序必然是结构化程序 描绘的结构非常清晰 用PAD图表现程序逻辑,易读、易懂、易记 支持自顶向下,逐步求精方法的使用(用def增加细节) PAD图基本符号 3.6 PDL(过程设计语言—伪码) 用结构化程序设计语言的语法控制框架,在内部却可灵活使用自然语言来表示各种操作 比流程图更灵活,可以使用普通的正文编辑程序进行修改 可以作为注释直接插在源程序中,提高文档质量 有自动处理程序存在,可以自动生成程序代码 缺点:不如图形工具直观 BEGIN input m,n if mn exchange m and n m%n r while r ≠0 { n m r n m%n r} print n END 3.7 计算机语言 BEGIN input m,n if mn exchange m and n m%n r while r ≠0 { n m r n m%n r} print n END main() {int m,n,r,t; scanf(“%d,%d”,m,n); if(mn) {t=m;m=n;n=t;} r=m%n; while(r!=0) {m=n;n=r;r=m%n;} printf(“n=%d”,n); } 第四节 结构化程序设计方法 原理:用三种基本控制结构,通过组合和嵌套可实现任何单入口、单出口的程序。 方法: 自顶向下 逐步细化 模块化 * 第二章 算法 * 开始 输入m,n mn? m,n交换 求m除以n的余数 r≠0 打印n n赋给m,r赋给n, 求m除以n的余数 结束 顺序 选择(分支) A B A B p 真 假 p A 真 循环 p A 真 假 假 A B p G A B C 条件 T F A B 循环条件 循环体 循环条件 循环体 条件 Case1部分 值1 值2 …… 值n Case2部分 Casen部分 A P1 P2 P1 P2 C L1 L2 Ln P1 P2 Pn …… WHILE C P UNTIL C P 开始 输入m,n mn? m,n交换 求m除以n的余数 r≠0 打印n n赋给m,r赋给n, 求m除以n的余数 结束 * 第二章 算法

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档