基本介绍

伪码特点

1.关键字的固定语法,它提供了结构化控制结构、数据说明和模块化的特点。为了使结构清晰和可读性好,通常在所有可能嵌套使用的控制结构的头和尾都有关键字。

2.自然语言的自由语法,它描述处理特点。

3.数据说明的手段。应该既包括简单的数据结构,又包括复杂的数据结构。

4.模块定义和调用的技术,应该提供各种接口描述模式。

伪码结构

用PDL表示的程序结构一般有下列几种结构:

1) 顺序结构

采用自然语言描述顺序结构:

处理S1

处理S2

处理Sn

2) 选择结构

(1) IF-结构:

IF 条件 IF 条件

处理S1 或 处理S

ELSE endif

处理S2

ENDIF

(2) IF-ORIF-ELSE结构:

IF 条件1

处理S1

ORIF 条件2

 …

ELSE 处理Sn

ENDIF

(3) CASE结构:

CASE OF

CASE(1)

处理S1

CASE(2)

处理S2

 …

ELSE 处理Sn

ENDCASE

3) 重复结构

(1) FOR 结构:

FOR i=1 TO n

循环体

END FOR

(2) WHILE 结构:

WHILE 条件

循环体

ENDWHILE

(3) UNTIL 结构:

REPEAT

循环体

UNTIL 条件

4) 出口结构

(1) ESCAPE 结构(退出本层结构):

WHILE 条件

处理S1

ESCAPE L IF 条件

处理S2

ENDWHILE

L: …

(2) CYCLE结构(循环内部进入循环的下一次):

L: WHILE 条件

处理S1

CYCLE L IF 条件

处理S2

ENDWHILE

5) 扩充结构

(1) 模块定义:

PROCEDURE 模块名(参数)

RETURN

END

(2) 模块调用:

CALL 模块名(参数)

(3) 数据定义:

DECLARE 属性 变量名, …

属性有:字符、整型、实型、双精度、指针、数组及结构等类型。

(4) 输入/输出:

GET(输入变量表)

PUT(输出变量表)

伪码示例

现以××系统主控模块详细设计为例,说明如何用PDL来描述。

PROCEDURE模块名( )

清屏;

显示××系统用户界面;

PUT(“请输入用户口令:”);

GET(password);

IF password<>系统口令

提示警告信息;

退出运行

ENDIF

显示本系统主菜单;

WHILE(true)

接收用户选择ABC;

IF ABC=“退出”

Break;

ENDIF

调用相应下层模块完成用户选择功能;

ENDWHILE;

清屏;

RETURN

END

从示例可以看到PDL的总体结构与一般程序完全相同。外语法同相应程序语言一致,内语法使用自然语言,易编写,易理解,也很容易转换成源程序。除此以外,还有以下优点:

(1) 提供的机制较图形全面,为保证详细设计与编码的质量创造了有利条件。

(2) 可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进行编辑、修改,有利于软件的维护。

(3) 可自动生成程序代码,提高软件生产率。目前已有PDL多种版本(如PDL/pascal, PDL/C, PDL/Ada等),为自动生成相应代码提供了便利条件。