admin管理员组文章数量:1794759
Java学习day015 如何写伪代码
day015 如何写伪代码
在学习的过程中老师要求我们在写程序之前先写伪代码,一开始我是拒绝的但奈何没有用,小的程序直接都写出来了再返回写伪代码有点烦,但是一想如果程序大一点复杂一点如何下手都是问题,因此先学会如何写伪代码。
一.什么是伪代码
伪代码是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言实现。因此,伪代码必须结构清晰,代码简单,可读性好,并且类似自然语言。 介于自然语言与编程语言之间。
伪代码具有以下几个优点:
- 提高任何方法的可读性。这是开始实现算法的最佳方法之一。
- 充当程序与算法或流程图之间的桥梁。也可以作为一个粗略的文档,因此当写出伪代码时,可以很容易地理解一个开发人员的程序。在行业中,文档是必不可少的。这就是证明伪代码至关重要的地方。
- 伪代码的主要目标是解释程序的每一行应该做什么,从而使程序员更容易构建代码构建阶段。
二.伪代码的语法规则
- 在伪代码中,每一条指令占一行(else if 例外),指令后不跟任何符号;
- “缩进”表示程序中的分支程序结构(同一模块的语句有相同的缩进量,次一级模块的语句相对与其父级模块的语句缩进);
- 通常每个算法开始时都要描述它的输入和输出,而且算法中的每一行都给编上行号,在解释算法的过程中会经常使用算法步骤中的行号来指代算法的步骤;
- 每一行可以加上编号(也可不加)。
1.变量的声明
算法中出现的数组、变量可以是以下类型:整数、实数、字符、字符串或指针。定义变量的语句不用写出来,但必须在注释中给出。
2.指令的表示
在算法中的某些指令或子任务可以用文字来叙述,例如,”设x是A中的最大项”,这里A是一个数组;或者”将x插入L中”,这里L是一个链表。这样做的目的是为了避免因那些与主要问题无关的细节使算法本身杂乱无章。
3.表达式
算术表达式可以使用通常的算术运算符(+,-,*,/,以及表示幂的^)。逻辑表达式可以使用关系运算符 = 、≠、<、>、≤ 和 ≥,以及逻辑运算符与(and)、或(or)、非(not)。
4.赋值语句
赋值语句是如下形式的语句:a←b。
这里a是变量、数组项,b是算术表达式、逻辑表达式或指针表达式。语句的含义是将b的值赋给a。
变量交换:若a和b都是变量、数组项,那么记号a<->b 表示a和b的内容进行交换。
5.goto语句
goto语句具有形式:
goto label(goto标号)它将导致转向具有指定标号的语句。
6.分支结构条件语句:
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 对齐7.循环结构
有两种循环指令:while和for。
while语句的形式是:
while time<10 do xxxxx //while后面必定要紧跟缩进的do xxxxx endfor语句的形式是:
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来该改变。
8.程序的结束
exit语句可以在通常的结束条件满足之前,被用来结束while循环或者for循环的执行。exit导致转向到紧接在包含exit的(最内层)while或者for循环后面的一个语句。
return用来指出一个算法执行的终点;如果算法在最后一条指令之后结束,它通常是被省略的;它被用得最多的场合是检测到不合需要的条件时。return的后面可以紧接被括在引号的信。
9.注释风格
算法中的注释被括在 /* */ 之中。
10.函数的编写
函数的伪代码格式例子为:search(A,name), 参数类型可以不给出,但必须在注释中说明。
3.伪代码实例:
伪代码:
x ← 0 y ← 0 z ← 0 while x < N do x ← x + 1 y ← x + y for t ← 0 to 10 do z ← ( z + x * y ) / 100 repeat y ← y + 1 z ← z - y until z < 0 z ← x * y y ← y / 2
正常的Java语言代码:
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;版权声明:本文标题:Java学习day015如何写伪代码 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686842667a109195.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论