伪代码书写规则(转)
伪代码书写规则
- 前言
- 输入
- 变量
- 数组
- 程序块
- 选择结构
- 循环结构
- 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,则只要var≥limit,就执行s并且将incr加到var上。
④incr的符号不能由s来该改变。
例:
for 循换变量 初值 to 终值 step 步长 do
s
end
注:“step 步长”对应的是模板中的“by incr”
网上博客找的例句,但好像有点不对“1. x ← 0 2. y ← 0 3. z ← 0 4. while x < N 1. do x ← x + 1 2. y ← x + y 3. for t ← 0 to 10 1. do z ← ( z + x * y ) / 100 2. repeat 1. y ← y + 1 2. z ← z - y 3. until z < 0 4. z ← x * y 5. y ← y / 2”
相当于C语言中的“x = y = z = 0; while( z < N ) { x ++; y += x; for( t = 0; t < 10; t++ ) { z = ( z + x * y ) / 100; do { y ++; z -= y; } while( z >= 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却是可见的。
</div><div><div></div></div><link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-60ecaf1f42.css" rel="stylesheet"><div></div><div class="person-messagebox"><div class="left-message"><a href="https://blog.csdn.net/u010804417"><img src="https://profile.csdnimg.cn/6/5/E/3_u010804417" class="avatar_pic" username="u010804417"></a></div><div class="middle-message"><div class="title"><span class="tit "><a href="https://blog.csdn.net/u010804417" data-report-click="{"mod":"popu_379","ab":"new"}" target="_blank">龙俊亨</a></span><!-- 等级,level --><img class="identity-icon" src="https://csdnimg.cn/identity/blog3.png"> </div><div class="text"><span>原创文章 24</span><span>获赞 32</span><span>访问量 1万+</span></div></div><div class="right-message"><a class="btn btn-sm bt-button personal-watch" data-report-click="{"mod":"popu_379","ab":"new"}">关注</a><a href="https://im.csdn.net/im/main.html?userName=u010804417" target="_blank" class="btn btn-sm bt-button personal-letter">私信</a></div></div></div>
伪代码书写规则(转)相关推荐
- 伪代码是计算机语言,伪代码书写格式
<伪代码书写格式>由会员分享,可在线阅读,更多相关<伪代码书写格式(3页珍藏版)>请在人人文库网上搜索. 1.精品文档伪代码伪代码是用介于自然语言和计算机语言之间的文字和符号来 ...
- 2、SQL的基本书写规则
对于 SQL 初学者,在写 SQL 语句时,只要遵守下面几个书写规则,就可以避免很多错误.这些规则都非常简单,下面我们来逐一介绍. SQL 语句要以分号;结尾 在 RDBMS (关系型数据库)当中,S ...
- C++ 的变量书写规则探讨
2012年10月13日由其研发,不过官方非但不道歉,asiasoft公司代理的四川麻将大型网络角色扮演游戏rappelz,俄罗斯,将准备现场演出版,高级,玩家在官网论坛上发帖希望官方能向玩家致以诚挚的 ...
- 2.1.3 JavaScript代码书写规则
2.1.3 JavaScript代码书写规则 http://book.51cto.com 2010-12-22 11:11 高宏 机械工业出版社 我要评论(0) 摘要:<JavaScri ...
- web.xml文件书写规则
在为class文件写xml配置文件的书写规则,需要书写的东西如下 <servlet> <servlet-name></servlet-name> <servl ...
- 4 书写规则
作者:韩亚飞_yue31313_韩梦飞沙 QQ:313134555 4 书写规则 ---- 规则包含两个部分,一个是依赖关系,一个是生成目标的方法. 在Makefile中,规则的顺序是很重 ...
- Makefile3、书写规则(文件搜寻、伪目标、多目标、静态模式、自动生成依赖性)
第三部分.书写规则 规则包含两个部分,一个是依赖关系,一个是生成目标的方法.在 Makefile 中,规则的顺序是很重要的,因为,Makefile 中只应该有一个最终目标,其它的目标都是被这个目标所连 ...
- 参考文献格式要求及书写规则
参考文献格式要求及书写规则 参考文献是根据GB/TB7714-2005<文后参考文献著录规则>,适用于"著者和编辑编录的文后参考文献,而不能作为图书馆员.文献目录编辑者以及索引编 ...
- 内是不是半包围结构_半包围结构是什么意思 半包围结构字的书写规则
我们在认字的时候,每一个字都有偏旁结构,那么,半包围结构是什么意思呢?而且在书写的时候,有哪些书写规则呢?相信有很多人都想了解了,只有自己清楚了才能够更好的去教自己的小孩子,下面我们跟大家讲一件半包围 ...
最新文章
- mysql无法插入行_在mysql中数据才插入20多行就报错,求救啊!!!
- C 判断输入的字符是什么
- python逻辑取反运算符_python学习笔记------逻辑运算符
- 七日Python之路--第十一天
- 线性反馈移位寄存器(LFSR,Linear Feedback Shift Register)
- 电子邮件营销的十大技巧
- python实现多接口翻译软件
- uni-app设置原生标题栏渐变色
- java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
- 航天器导航属于计算机应用的哪个领域,计算机应用基础作业1含答案
- java 阴历阳历转换
- mywife.cc 神一样的存在!
- ISO 639-1语言列表
- 计算机规划语句,有关规划人生的句子
- BI与ClickHouse:探索式BI的OLAP技术演进之路
- 大球吞小球html5游戏在线玩,大球吃小球大作战
- 3V-4.2V锂电池升降压转3.3V固定输出,PW2224升降压IC
- 基于Springboot实现在线打印平台
- PCB设计——使用Altium Designer生成板厂加工所需的Gerber文件实用技巧总结(过孔盖油、Gerber Files、NC Drill Files、检查Gerber文件)
- 基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]
热门文章
- VueCli3开发订餐app项目
- MongoDb配置文件中参数及其作用
- 惠普VICTUS光影精灵8评测 怎么样
- html5 js(Javascript-Barcode-Reader)实现上传图片或拍照识别条形码的功能
- 中考大数据大连79_中考大数据 | 2018年大连部分重点高中生源情况汇总!
- 校园网服务器系统方案设计,校园网改造方案的设计与实现
- 软件测试技术知识点汇总——软件测试的基本概念
- 2019社交电商十大平台集锦
- 【VMware vSAN 7.0】超融合基础架构 (HCI)虚拟化集群解决方案
- TortoiseGit 安装使用