伪代码填写规则:
1)算法中出现的数组、变量可以是以下类型:整数、实数、字符、位串或指针。通常这些类型可以从算法的上下文来看是清楚的,并不需要额外加以说明。
2)在算法中的某些指令或子任务可以用文字来叙述,例如,"设x是A中的最大项",这里A是一个数组;或者"将x插入L中",这里L是一个链表。这样做的目的是为了避免因那些与主要问题无关的细节使算法本身杂乱无章。
3)算术表达式可以使用通常的算术运算符(+,-,*,/,以及表示幂的^)。逻辑表达式可以使用关系运算符=,≠,<,>,≤和≥,以及逻辑运算符与(and),或(or),非(not)。
4)赋值语句是如下形式的语句:a<-b。
这里a是变量、数组项,b是算术表达式、逻辑表达式或指针表达式。语句的含义是将b的值赋给a。
扩展;另外伪代码必须结构清晰、代码简单、可读性好,介于自然语言与编程语言之间。以编程语言的书写形式指明算法职能。使用伪代码,不用拘泥于具体实现。它是半角式化、不标准的语言。可以把整个算法运行过程的结构用接近自然语言的形式(可以使用任何一种你熟悉的文字,关键是把程序的意思表达出来)描述出来。
clear %清除内存中已经定义内容 clc %清屏 ff=0.5 %定义自变量ff并赋值 di=dir('D:\matlab7\1\*.bmp') %dir(字符串)就是显示字符串路径下的文件或文件夹 for k=1:length(di) %开始for循环,循环次数为文件di的长度,length()是取长度的函数。 I1(:,:,k)=imread(['D:\matlab7\1\',di(k).name]) %imread为读入文件的函数,这个结合前两句语句久实现了图片循环录入的功能,不用人工修改路径了。 I(:,:,k)=im2bw(I1(:,:,k),ff)%im2bw是把图片二值化处理,去掉灰色,只留黑白,好确认像素点。顺便问下是数模B题的亲么? end %循环结束。伪代码的语法规则在伪代码中,每一条指令占一行(else if 例外,),指令后不跟任何符号(Pascal和C中语句要以分号结尾);书写上的“缩进”表示程序中的分支程序结构。这种缩进风格也适用于if-then-else语句。用缩进取代传统Pascal中的begin和end语句来表示程序的块结构可以大大提高代码的清晰性;同一模块的语句有相同的缩进量,次一级模块的语句相对与其父级模块的语句缩进;例如:line 1line 2sub line 1
sub line 2
sub sub line 1
sub sub line 2
sub line 3line 3而在Pascal中这种关系用begin和end的嵌套来表示, line 1 line 2 begin
sub line 1
sub line 2
begin
sub sub line 1
sub sub line 2
end
sub line 3 endline 3在C中这种关系用{ 和 } 的嵌套来表示, line 1 line 2 {
sub line 1
sub line 2
{
sub sub line 1
sub sub line 2
}
sub line 3 } line 3 在伪代码中,通常用连续的数字或字母来标示同一即模块中的连续语句,有时也可省略标号。例如: 1. 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符号△后的内容表示注释;在伪代码中,变量名和保留字不区分大小写,这一点和Pascal相同,与C或C++不同;在伪代码中,变量不需声明,但变量局部于特定过程,不能不加显示的说明就使用全局变量;赋值语句用符号←表示,x←exp表示将exp的值赋给x,其中x是一个变量,exp是一个与x同类型的变量或表达式(该表达式的结果与x同类型);多重赋值i←j←e是将表达式e的值赋给变量i和j,这种表示与j←e和i←e等价
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)