伪代码的写法和规则

业余杂谈 herman 2492浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

今天又网友在论坛里http://bbs.csdn.net/topics/392153590问到伪代码如何编写的问题。我这里查询了一些资料,整理如下。

在伪代码中,每一条指令占一行(else if 例外),指令后不跟任何符号 
书写上的缩进表示程序中的分支结构;同一模块中的语句具有相同的缩进量,通常每个算法开始时都要描述它的输入和输出,而且算法中的每一行都给编上行号,在解释算法的过程中会经常使用算法步骤中的行号来指代算法的步骤。

变量的声明

算法中出现的数组、变量可以是以下类型:整数、实数、字符、位串或指针。定义变量的语句不用写出来,但必须在注释中给出

指令的表示

指令:在算法中的某些指令或子任务可以用文字来叙述,例如,”设x是A中的最大项”,这里A是一个数组;或者”将x插入L中”,这里L是一个链表。这样做的目的是为了避免因那些与主要问题无关的细节使算法本身杂乱无章。

表达式

算术表达式可以使用通常的算术运算符(+,-,*,/,以及表示幂的^)。逻辑表达式可以使用关系运算符=,≠,<,>,≤和≥,以及逻辑运算符与(and),或(or),非(not)。

赋值语句

赋值语句是如下形式的语句:a←b 。 
这里a是变量、数组项,b是算术表达式、逻辑表达式或指针表达式。语句的含义是将b的值赋给a。 
变量交换:若a和b都是变量、数组项,那么记号a<->b 表示a和b的内容进行交换。

goto语句

goto语句具有形式

goto label(goto标号)

它将导致转向具有指定标号的语句。

分支结构

条件语句:

if i=10
    then xxxx
    else xxxx //else 和 then 要对齐
if i=10
    then xxxx //if 后面必定跟上then,else后面不用跟then
    elseif i=9  //elseif 要连在一起写
        then xxxx
        yyyy
    else  xxxx //else 跟在elseif 的 then 对齐

循环结构

有两种循环指令:while和for。 
while语句的形式是

while time<10
    do  xxxxx                  //while后面必定要紧跟缩进的do
    xxxxx
    end

for语句的形式是

for var init to limit by incr do
    s
end

这里var是变量,init、limit和incr都是算术表达式,而s是由一个或多个语句组成的语句串。初始时,var被赋予init的值。假若incr≥0,则只要var≤limit,就执行s并且将incr加到var上。(假若incr<0,则只要var≥limit,就执行s并且将incr加到var上)。incr的符号不能由s来该改变。

程序的结束

exit语句可以在通常的结束条件满足之前,被用来结束while循环或者for循环的执行。exit导致转向到紧接在包含exit的(最内层)while或者for循环后面的一个语句。

return用来指出一个算法执行的终点;如果算法在最后一条指令之后结束,它通常是被省略的;它被用得最多的场合是检测到不合需要的条件时。return的后面可以紧接被括在引号的信息。

注释风格

算法中的注释被括在/* */之中。诸如read和output之类的各种输入或者输出也在需要时被用到。

函数的编写

函数的伪代码格式例子为:search(A,name) //参数类型可以不给出,但必须在注释中说明。

总结

算法的伪代码语言在某些方面可能显得不太正规,但是给我们描述算法提供了很多方便,并且可以使我们忽略算法实现中很多麻烦的细节。通常每个算法开始时都要描述它的输入和输出,而且算法中的每一行都给编上号码,在解释算法的过程中会经常使用算法步骤中的行号来指代算法的步骤。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » 伪代码的写法和规则