第2章 怎样表示一个算法

本文介绍了表示算法的不同方法,包括自然语言、流程图、结构化流程图(如N-S流程图)、伪代码和计算机语言。强调了自然语言的易懂但可能存在的歧义,流程图的直观性,以及计算机语言的可执行性。结构化程序设计方法通过自顶向下、逐步细化和模块化设计确保程序的清晰和易维护。

2.5 怎样表示一个算法

为了表示一个算法,可以用不同的方法。常用的方法由:自然语言、传统流程图、结构化流程图和伪代码等。

2.5.1 用自然语言表示算法

  • 自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。
  • 用自然语言表示通俗易懂,但文字冗长,容易出现歧义。自然语言表示的含义往往不大严格,要根据上下文才能判断其正确含义。
  • 用自然语言来描述包含分支和循环的算法不大方便。因此,除了那些很简单的问题以外,一般不用自然语言表示算法。

2.5.2 用流程图表示算法

  • 流程图是用一些图框来表示各种操作。用图形表示算法,直观形象,易于理解。
    在这里插入图片描述

2.5.3 三种基本结构和改进的流程图

1.传统流程图的弊端

传统的流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制。因此,使用者可以不受限制地使流程随意地转来转去,使流程图变得毫无规律,阅读时要花很大精力去追踪流程,使人难以理解算法的逻辑。

2.三种基本结构
在这里插入图片描述
以上 3 种基本结构,有以下共同特点:

  1. 只有一个入口。
  2. 只有一个出口。
  3. 结构内的每一部分都有机会被执行到。
  4. 结构内不存在 “死循环”。

2.5.4 用 N-S 流程图表示算法

在这里插入图片描述

2.5.5 用伪代码表示算法

  • 伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。
  • 它如同一篇文章一样,自上而下地写下来。每一行(或几行)表示一个基本操作。
  • 它不用图形符号,因此书写方便,格式紧凑,修改方便,容易看懂,也便于向计算机语言算法(即程序)过渡。

2.5.6 用计算机语言表示算法

  • 要完成一项工作,包括设计算法和实现算法两个部分。设计算法的目的是为了实现算法。因此,不仅要考虑如何设计一个算法,也要考虑如何实现一个算法。
  • 我们考虑的是用计算机解题,也就是要用计算机实现算法,而计算机是无法识别流程图和伪代码的,只有用计算机语言编写的程序才能被计算机执行,因此在用流程图或伪代码描述一个算法后,还要将它转换成计算机语言程序。
  • 用计算机语言表示的算法是计算机能够执行的算法。用计算机语言表示算法必须严格遵循所用的语言的语法规则,这是和伪代码不同的。

2.6 结构化程序设计方法

结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。

采取以下方法来保证得到结构化的程序:

  1. 自顶向下
  2. 逐步细化
  3. 模块化设计
  4. 结构化编码

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值