Course playlist

算法描述方法入门

学习用自然语言、流程图、伪代码描述算法

什么是算法描述?

算法描述就是用不同的方法把解决问题的步骤写出来,让别人能够理解。就像我们告诉别人怎么做一件事,可以用说话、画图或者写步骤说明。

简单理解:算法描述就是"如何告诉计算机(或别人)一步一步地解决问题"。

1. 自然语言描述

自然语言描述就是用我们平时说话、写文章的语言来描述算法步骤。这是最容易理解的方法。

示例:计算两个数的和
第一步:准备两个数,比如5和3
第二步:把这两个数相加
第三步:得到结果8
第四步:输出结果
优点:容易理解,不需要学习特殊符号
缺点:不够精确,可能有歧义,写起来比较啰嗦

2. 流程图描述

流程图是用图形符号和箭头来表示算法步骤的方法。就像画地图一样,让人一看就明白。

示例:判断一个数是正数、负数还是零
开始
开始判断
输入
输入一个数
判断
这个数大于0吗?
↓ 是 → 输出"正数"
↓ 否 → 这个数等于0吗?
↓ 是 → 输出"零"
↓ 否 → 输出"负数"
结束
结束判断

常用流程图符号

符号 名称 用途
开始/结束框 表示算法的开始和结束
输入/输出框 表示输入数据或输出结果
判断框 表示条件判断(是/否)
处理框 表示计算或处理步骤
流程线 表示步骤的执行顺序
优点:直观、清晰,适合表示复杂的判断和循环
缺点:画起来比较费时间,修改不方便

3. 伪代码描述

伪代码是介于自然语言和编程语言之间的描述方法。它像编程语言一样有结构,但又不用完全遵守编程语言的严格语法。

示例:找出三个数中的最大值
开始 输入三个数:a, b, c 如果 a > b 并且 a > c 那么 最大值 = a 否则如果 b > a 并且 b > c 那么 最大值 = b 否则 最大值 = c 结束如果 输出 "最大值是:" + 最大值 结束

伪代码常用关键字

  • 开始/结束:表示算法的开始和结束
  • 输入/输出:表示获取数据或显示结果
  • 如果...那么...否则:表示条件判断
  • 循环...直到:表示重复执行
  • 当...做:表示条件循环
优点:结构清晰,接近编程语言,容易转换为代码
缺点:需要学习一些约定写法,没有统一标准

三种方法比较

描述方法 适合场景 优点 缺点
自然语言 向非技术人员解释、简单算法 最容易理解,不需要学习 不精确,可能有歧义,冗长
流程图 教学、复杂逻辑、流程分析 直观清晰,逻辑关系明确 绘制费时,修改不便
伪代码 程序员交流、算法设计、准备编码 结构清晰,接近代码,易转换 需要学习约定,无统一标准
如何选择?简单算法用自然语言,复杂逻辑用流程图,准备编程用伪代码。

动手练习

现在我们来练习一个简单的算法:计算1+2+3+...+10的和

任务1:用自然语言描述

请用自然语言(中文)描述如何计算1到10的和:

任务2:用伪代码描述

请用伪代码描述如何计算1到10的和:

任务3:理解流程图

下面是一个计算1到10的和的流程图,请理解它的执行过程:

1. 开始
2. 设 sum = 0, i = 1
3. 判断 i ≤ 10?
是 → sum = sum + i, i = i + 1,回到第3步
否 → 输出 sum
4. 结束

学习总结

让我们回顾一下今天学到的三种算法描述方法:

1
自然语言:就像平常说话一样描述步骤
2
流程图:用图形和箭头画出来的算法"地图"
3
伪代码:像编程语言但不用严格遵守语法的描述
记住:不同的描述方法有不同的用途,根据具体情况选择最合适的方法。
题目 对/错/率 难度 记录 通过
姓名 分数 提交时间 操作