大家好,欢迎来到IT知识分享网。
前言
伪代码的7个主要部分
1. 算法名称
2. 指令序列
3. 输入/输出
4. 分支选择
5. 赋值
6. 循环
7. 算法结束
文章将从这7个部分依次进行说明
1.算法名称
有两种表示算法的伪代码:
过程(Procedure)
函数(Function)
过程和函数的区别是:
过程是执行一系列操作,不需要返回操作的结果,无返回数据。
函数是执行一系列的操作后,要将操作的结果返回,有返回数据。
简单来说二者就是有没有返回数据。
算法伪代码的书写规则:
Procedure <算法名>([<参数列表>]) Function <算法名>([<参数列表>])
2.指令序列
指令序列是算法的主体。
指令序列的书写规则:
> 用Begin作为开始,用End作为结束;
> 或者用“{”作为开始,用“/}”作为结束
例如:
或者
3.输入/输出
输入:Input
输出:Output 或Return
看个人的习惯吧,我输出一般用Return
4.分支选择
总体有两种分支,类似于C中的if语句 和if else语句用法是一样的,可以嵌套。
5.赋值
x:=x+1; x<-x+1;
选择哪个,看自己的习惯吧
6.循环
两种方式:计数式循环(for循环)和条件式循环(while循环)。
(1)计数式循环
For 变量:=初值 To 终值 { 指令序列; /}
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应该会有比较深一点的理解,我在这里理解就是告诉读者,这是一个变量。
再举个插入排序的例子
关于语句后面有没有分号,我看有些人说有,有些说没有,其实拟C伪代码可以加分号,这样看起来更习惯
说明
这个伪代码是算法比较规范的伪代码规则,我在网上查到有java的伪代码,python伪代码,php伪代码等等,和其他的,我的理解就是把没有完整实现的代码叫做了伪代码,其实只要能够清楚表达思路,让别人很容易理解,都可以称作伪代码吧。不受严格语法的约束,我想这也是伪代码写起来比较快乐的原因吧。
更多内容请WX搜索:松鼠技术站
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/165113.html