5.4.5 过程设计语言
过程设计语言(Program Design Language,PDL)也称为伪码,是一个笼统的名称,现在有许多种不同的过程设计语言在使用。它是用正文形式表示数据和处理过程的设计工具,是一种结构化的语言,是非形式化比较灵活的语言,用于描述模块内部过程的具体算法,以便在开发人员之间进行比较精确的交流。
一方面,PDL具有严格的关键字外部语法,用于定义控制结构和数据结构;另一方面,PDL表示实际操作和条件的内部语法通常又是灵活自由的,以便可以适应各种工程项目的需要。因此,一般来说,PDL是一种“混杂”语言,它使用一种语言(通常是某种自然语言)的词汇,同时却使用另一种语言(某种结构化的程序设计语言)的语法。
PDL应该具有下述特点。
(1)关键字的固定语法,它提供了结构化控制结构、数据说明和模块化的特点。为了使结构清晰和可读性好,通常在所有可能嵌套使用的控制结构的头和尾都有关键字,如if(或end if)等。
(2)自然语言的自由语法,它描述处理特点。
(3)数据说明的手段。它应该既包括简单的数据结构(例如变量和数组),又包括复杂的数据结构(如链表或层次的数据结构)。
(4)模块定义和调用的技术,应该提供各种接口描述模式。
PDL作为一种设计工具有如下优点。
(1)可以作为注释直接插在源程序中间。这样做能促使维护人员在修改程序代码的同时也相应地修改PDL注释,因此,有助于保持文档和程序的一致性,提高了文档的质量。
(2)可以使用普通的正文编辑程序或文字处理系统,很方便地完成PDL的书写和编辑工作。
(3)已经有自动处理程序存在,而且可以自动由PDL生成程序代码。
PDL的缺点是不如图形工具形象直观,描述复杂的条件组合与动作间的对应关系时,不如判定表清晰简单。
过程描述语言是介于自然语言和形式语言之间的一种半形式化的语言,它在自然语言基础上加了一些限定,使用有限的词汇和语句来描述加工逻辑,其结构可分成内外两层。
外层用来描述控制结构,采用顺序、选择、重复三种基本结构。
内层一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,其动词含义要具体,尽量不用形容词和副词来修饰。
PDL的语法是开放式的,其外层语法是确定的,而内层语法则不确定。外层语法描述控制结构,它用类似于一般程序设计语言控制结构的关键字。
(https://www.daowen.com)
下面是PDL语言的三种形式。
(1)顺序结构

其中,seq和end是关键字。
(2)选择结构

其中,select、or和end是关键字,cond1、cond2和cood3是分别执行Block1、Block2和Block3的条件。
(3)重复结构

其中,iter、until、while和end是关键字,cond是条件。
例5.7 下面是一个用PDL语言描述的统计单词数目的例子。
解:

程序首先是顺序结构,共7条语句,其中程序体是循环结构。PDL可以很好地表示嵌套结构。
结构化语言、判定树、判定表3种工具的适用范围可概括如下。
判定树适用于10~15种行动的一般复杂的决策,有时可将判定表转换成判定树,便于用户检查。判定表适合于多个条件的复杂组合。虽然判定表也适用于很多数目的行动或条件组合,但数目庞大时使用也不方便。如果一个判定包含了一般顺序执行的动作或循环执行的动作,则最好用结构化语言表达。