算法的表示方法.pdfVIP

  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文档。上传文档
查看更多
算法的表示方法 算法的常用表示方法有如下三种: 1、使用自然语言描述算法 2 、使用流程图描述算法 3 、使用伪代码描述算法 我们来看怎样使用这 3 种不同的表示方法去描述解决问题的过程,以求解 sum=1+2+3 +4+5……+ (n-1 )+n 为例。 第1种:使用自然语言描述从 1 开始的连续 n 个自然数求和的算法 ① 确定一个 n 的值; ② 假设等号右边的算式项中的初始值 i 为 1; ③ 假设 sum 的初始值为 0 ; ④ 如果 i ≤n时,执行⑤,否则转出执行⑧; ⑤ 计算 sum 加上 i 的值后,重新赋值给 sum ; ⑥ 计算 i 加 1 ,然后将值重新赋值给 i ; ⑦ 转去执行④; ⑧ 输出 sum 的值,算法结束。 从上面的这个描述的求解过程中, 我们不难发现, 使用自然语言描述算法的方法虽然比 较容易掌握, 但是存在着很大的缺陷。 例如, 当算法中含有多分支或循环操作时很难表述清 楚。另外,使用自然语言描述算法还很容易造成歧义(称之为二义性),譬如有这样一句话 ——“武松打死老虎 ”,我们既可以理解为 武松“ / 打死老虎 ”,又可以理解为 武松“ / 打/死老虎 ”。 自然语言中的语气和停顿不同,就可能使他人对相同的一句话产生不同的理解。又如 你输“ 他赢 ”这句话,使用不同的语气说,可以产生 3 种截然不同的意思,同学们不妨试试看。为 了解决自然语言描述算法中存在着可能的二义性,我们提出了第 2 种描述算法的方法 —— 流程图。 第 2 种:使用流程图描述从 1 开始的连续 n 个自然数求和的算法 从上面的这个算法流程图中, 可以比较清晰的看出求解问题的执行过程。 在进一步学习 使用流程图描述算法之前,有必要对流程图中的一些常用符号做一个解释。 流程图的缺点是在使用标准中没有规定流程线的用法, 因为流程线能够转移、 指出流程 控制方向, 即算法中操作步骤的执行次序。 在早期的程序设计中, 曾经由于滥用流程线的转 移而导致了可怕的 软件危机“ ”,震动了整个软件业,并展开了关于 “转移 ”用法的大讨论,从 而产生了计算机科学的一个新的分支学科 —— 程序设计方法。 无论是使用自然语言还是使用流程图描述算法, 仅仅是表述了编程者解决问题的一种思 路,都无法被计算机直接接受并进行操作。 由此我们引进了第三种非常接近于计算机编程语 言的算法描述方法 —— 伪代码。 第 3 种:使用伪代码描述从 1 开始的连续 n 个自然数求和的算法 1) 算法开始; 2) 输入 n 的值; 3) i ← 1; /* 为变量 i 赋初值 */ 4) sum ← 0 ; /* 为变量 sum 赋初值 */ 5) do while i=n /* 当变量 i =n 时,执行下面的循环体语句 */ 6) { sum ← sum + i ; 7) i ← i + 1 ;} 8) 输出 sum 的值; 9) 算法结束; 伪代码是一种用来书写程序或描述算法时使用的非正式、 透明的表述方法。 它并

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

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

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档