前言
最近复习《算法设计与分析》这门课,发现老师写的伪代码很漂亮c语言有哪些伪指令,真是羡慕。他其实知道编写伪代码的规则,只是本着严谨的态度,还是系统地学习整理。在学习过程中,我们不可能把每一个算法都打完整个,那么伪代码就可以快速清晰地写出一个算法的解。
网上找的博客要么太繁琐要么没有例子,这也是我整理这篇文章的动力。如果文章有错误或不足之处,希望大家指出。
伪代码的7个主要部分
1. 算法名称
2. 指令序列
3. 输入/输出
4. 分支选择
5. 赋值
6. 循环
7. 算法结束
文章将依次讲解这7个部分
1.算法名称
有两个伪代码表示该算法:
程序
功能
过程和函数的区别在于:
一个过程就是执行一系列操作,不返回操作结果,也不返回任何数据。
作用是返回操作的结果,执行一系列操作后返回数据。
简单来说,两者就是有没有返回数据。
算法伪代码编写规则:
Procedure ([])
Function ([])
2.命令序列
指令序列是算法的主体。
指令序列的编写规则:
> 以 Begin 开始,以 End 结束;
> 或者以“{”开头,以“/}”结尾
例如:
或者
3.输入/输出
输入:输入
输出:输出或返回
这取决于个人习惯,我通常使用Return进行输出
4.分支选择
分支一般有两种,类似于C中的if语句和if else语句,用法相同,可以嵌套。
5.分配
有两种方法可以使用 := 或者例如:
x:=x+1;
x<-x+1;
选择哪一种取决于你的习惯
6.循环
两种方式:计数循环(for loop)和条件循环(while loop)。
(1)计数循环
For 变量:=初值 To 终值
{
指令序列;
/}
循环次数:终值-初值+1
(2)条件循环
While (条件) do
{
指令序列;
/}
7.算法结束
算法名称加在关键字End之后,表示算法的结束,也就是算法的最后一句。
例如:
End DFS
补充
除了这些之外,* / + – % 等运算符与C语言用法相同
大批:
A[j]表示数组A的第j个元素。符号“…”用于表示数组中值的范围。例如:
A[1…j] 表示具有元素 A[1], A[2], … , A[j] 的子数组;
还有一种写法,A[0:n]表示数组的索引从0开始,一直到n
二维数组也是:A[0:m,0:n]
例如
例如冒泡排序的伪代码:
你会发现伪代码中没有提到的7部分大部分是:冒号的作用
变量名 : 数据类型
还有var,意思是变量。如果你学过javascript,应该会有更深的理解。我在这里的理解是告诉读者这是一个变量。
插入排序的另一个例子
关于语句后面是否有分号,我看到有人说是,有人说不是,其实pseudo-C伪代码可以加分号,看起来比较习惯
操作说明
这个伪码是算法相对标准化的伪码规则。我在网上发现有java伪代码c语言有哪些伪指令,python伪代码,php伪代码等,等等。我的理解是,没有完全实现的代码叫做伪代码。代码,其实只要能清晰地表达思想,让别人容易理解,就可以称为伪代码。不受严格语法的约束,我认为这就是伪代码更容易编写的原因。
更多内容请搜索WX:松鼠科技站
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 欧资源网