



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、算法的表示方法算法的常用表示方法有如下三种:1、使用自然语言描述算法2、使用流程图描述算法3、使用伪代码描述算法我们来看怎样使用这3种不同的表示方法去描述解决问题的过程,以求解sum=1+2+3+4+5+(n-1)+n为例。第种:使用自然语言描述从1开始的连续n个自然数求和的算法 确定一个n的值; 假设等号右边的算式项中的初始值i为1; 假设sum的初始值为0; 如果in时,执行,否则转出执行; 计算sum加上i的值后,重新赋值给sum; 计算i加1,然后将值重新赋值给i; 转去执行; 输出sum 的值,算法结束。从上面的这个描述的求解过程中,我们不难发现,使用自然语言描述算法的方法虽然比较容
2、易掌握,但是存在着很大的缺陷。例如,当算法中含有多分支或循环操作时很难表述清楚。另外,使用自然语言描述算法还很容易造成歧义(称之为二义性),譬如有这样一句话“武松打死老虎”,我们既可以理解为“武松/打死老虎”,又可以理解为“武松/打/死老虎”。自然语言中的语气和停顿不同,就可能使他人对相同的一句话产生不同的理解。又如“你输他赢”这句话,使用不同的语气说,可以产生3种截然不同的意思,同学们不妨试试看。为了解决自然语言描述算法中存在着可能的二义性,我们提出了第2种描述算法的方法流程图。第2种:使用流程图描述从1开始的连续n个自然数求和的算法从上面的这个算法流程图中,可以比较清晰的看出求解问题的执行
3、过程。在进一步学习使用流程图描述算法之前,有必要对流程图中的一些常用符号做一个解释。流程图的缺点是在使用标准中没有规定流程线的用法,因为流程线能够转移、指出流程控制方向,即算法中操作步骤的执行次序。在早期的程序设计中,曾经由于滥用流程线的转移而导致了可怕的“软件危机”,震动了整个软件业,并展开了关于“转移”用法的大讨论,从而产生了计算机科学的一个新的分支学科程序设计方法。无论是使用自然语言还是使用流程图描述算法,仅仅是表述了编程者解决问题的一种思路,都无法被计算机直接接受并进行操作。由此我们引进了第三种非常接近于计算机编程语言的算法描述方法伪代码。第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) 算法结束;伪代码是一种用来书写程序或描述算法时使用的非正式、透明的表述方法。它并非是一种编程语言,这种方法针对的是一台虚拟的计算机。伪代码通常采用自然语言、数学公式和符号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论