伪代码书写规则 您所在的位置:网站首页 pseudocode怎么写 伪代码书写规则

伪代码书写规则

2023-12-22 09:07| 来源: 网络整理| 查看: 265

伪代码书写规则 前言输入变量数组程序块选择结构循环结构while循环for循环 返回值每行指令结尾后无符号注释大小写参数赋值 最近要用到伪代码写算法,所以在网上查阅了一些资料,写这篇博客正好整理、记录一下自己所学的书写规则,以便日后复习查阅,如果还能对大家有所帮助,那就更好了。文中不足,欢迎各位大神多多指点。

前言

伪代码是半角式化 、不标准的语言。我们可以通过它将整个算法运行过程的结构用接近自然语言的形式描述出来(这里,你可以使用任何一种你熟悉的文字,中文,英文 等等,关键是你把你程序的意思表达出来)。 借助伪代码, 我们可以更好的表述算法, 而不用拘泥于具体的实现;同样,当我们学习别人的算法时,也不会因C、C++、C#、JAVA等语言语法的差异,而影响我们理解算法的思想。

输入

赋值语句用符号←表示,x←exp表示将exp的值赋给x,其中x是一个变量,exp是一个与x同类型的变量或表达式(该表达式的结果与x同类型);多重赋值i←j←e是将表达式e的值赋给变量i和j,这种表示与j←e和i←e等价。例:

x←20*(y+1) 相当于C语言中的 x = 20*(y+1); x←y←30 相当于C语言中的x = y = 30;

百度百科上给出了a←3; 但我看某些博客也有3→a;//是否合适,有待验证。

变量

变量不需声明,但都相当于是所在函数内部的局部变量,不能不加显示的说明就使用全局变量;

数组

A[j]指示数组A的第j个元素。符号“ …”用来指示数组中值的范围。例如: A[1…j]表示含元素A[1], A[2], … , A[j]的子数组;

程序块

程序块在伪代码程序语句上中表现为一种“缩进”,表示程序中的分支程序结构,同一模块的语句有相同的缩进量,次一级模块的语句相对与其父级模块的语句缩进;

注:还有的博客提出“通常用连续的数字或字母来标示同一即模块中的连续语句”例:

line 1 2. line 2 a. sub line 1 b. sub line 2 1. sub sub line 1 2. sub sub line 2 c. sub line 3 3. line 3 选择结构

选择语句用if-then-else来表示,例:

if (Condition1) then [ Block 1 ] else if (Condition2) then [ Block 2 ] else [ Block 3 ]

循环结构 while循环

while c do   s end

for循环

for var init to limit by incr do   s end

注: ①var是变量,init、limit和incr都是算术表达式,而s是由一个或多个语句组成的语句串。②初始时,var被赋予init的值。 ③limit是结束时的临界值:假若incr≥0,则只要var≤limit,就执行s并且将incr加到var上;假若incr= 0 ); } z = x * y; } y /= 2;”

返回值

函数值利用 “return (函数返回值)” 语句来返回,调用方法与Pascal类似;过程用 “call 过程名”语句来调用;   例如:   1. x ← t + 10   2. y ← sin(x)   3. call CalValue(x,y) 注:参数用按值传递方式传给一个过程(待确认)

每行指令结尾后无符号

每一条指令占一行,每一行指令后不跟任何符号(C语言中的语句要以分号结尾)

注释

因为伪代码属于类C语言,所以注释采用C语言中的 “// ”。请注意,此处与网上大多博客不同 注:我看网上很多说“符号△后的内容表示注释”,但是当我在论文中用伪代码描述算法,使用△表示注释时,却被导师指为错误。所以目前还是使用C 语言中的 “ // ”表示注释

大小写

变量名和保留字不区分大小写

参数赋值

参数采用按值传递方式,即在被调用过程中的赋值x←y对主调过程来说是不可见的。但是,赋值f[x] = 3却是可见的。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有