2.5算法描述语言

2.5算法描述语言一 PDL 概述 1 概念 简单来说 PDL 是算法的一种描述形式 也称为伪码语言 主要用于书写软件设计规约 也被用于学术研究中的算法表示 PDL 的定义 是一种用于描述功能模块部件的算法设计语言 2 采用 PDL 的优势 表达能力强 具有关键字的固定语法 同时提供了结构化控制结构

大家好,我是讯享网,很高兴认识大家。

一、PDL概述

1.概念

简单来说PDL是算法的一种描述形式,也称为伪码语言,主要用于书写软件设计规约,也被用于学术研究中的算法表示。

PDL的定义:是一种用于描述功能模块部件的算法设计语言。

2.采用PDL的优势

  1. 表达能力强,具有关键字的固定语法,同时提供了结构化控制结构、数据说明和模块化的特点。
  2. 类似自然语言表达习惯,结构清晰、简单、可读性好;
  3. 易于转化为任何一种具体程序设计语言代码。

二、PDL书写及要求

以下从四个方面讨论PDL的书写格式及形式要求:

1.算法(程序)框架:


讯享网

              PROC                                       FUNC

2.词的定义及说明:词能达意

标识符:语言中由字符按照一定规则形成的具有特定含义的词。

过程名:描述一个任务、事物、需求

命名

变量名、常量名:说明

常量(Constant)的说明:                      变量(Variable)的说明:

CONST  常量名=常量值;                  VAR 变量名表:数据类型名

例:CONST  PI=3.                例:VAR i,j,k : integer;

                                                                   VAR x,y,z : real;

①一般类型的名称对应习惯写法:(枚举)

    1. 整数型:integer
    2. 实数型:real
    3. 布尔型:boolean
    4. 字符型:char (一个字符)
    5. 子介型:下界··上界

子界举:40··90     -20··30   ‘A’··‘G’

②构造类型:

数组型:ARRAY [下标类型] OF 成分类型

例如:         A:ARRAY[1··20] OF integer;

                        B:ARRAY[1··20,-10··20] OF real;

记录型:RECORD

        域标识符1:类型1

        ...

        域标识符n:类型n

END

记录型举例,定义一个如图所示的记录A。

A=RECORD

        name:ARRAY[1··8] OF char;

        sex:0··1;

        Age:integer;

END

③指针型:

        ↑类型名

例如:

        TYPE A=↑integer;//定义了一个新指针类型

        VAR B: ↑integer;//定义了一个新指针变量

3.基本语句:五种:赋值语句、条件语句、循环语句、输入/出语句

        PDL中赋值语句形式化写法:

                变量名←表达式

                        例子: a←34*6+5-10;

                                        x←3*a+a*a-1;

流程图画法:

在类C中的形式化写法:

        变量名=表达式;

PDL中条件语句形式化写法:

形式一:                                         形式二:

        if条件then语句组                                 if条件then语句组1

流程图画法:                                               else语句组2

                                

PDL中重复(循环)语句形式化写法:

当型(while):                                         直到型(repeat):(往往多执行一次)

        while条件DO                                   REPEAT

        语句组;                                            语句组;

                                                                UNTIL条件

流程图画法:

        

从到型(for-to):                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

FOR变量←初值TO终值DO

语句组;

默认循环控制量自动+1

FOR变量←初值DOWNTO终值DO

语句组;

默认循环控制量自动-1

FOR变量←初值TO终值STEP步长值DO

语句组;

默认循环控制量自动+步长值

PDL中输入、输出语句形式化写法:

read(变量表)

write(变量表)

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

4.扩展语句:

        ​​​​​​​        ​​​​​​​        

①情况语句:

        CASE

                条件1: 语句组1;

                条件2: 语句组2;

                .

                .

                .

                条件n: 语句组n;

                [ELSE 语句组n+1]

        ENDCASE

语句顺序1:

        CASE                                                 预测结果:

                X∈90~100:X₁←X₁+1;                 90~100:16人

                X∈80~89:X₂←X₂+1;                   80~89:64人

                X∈70~79:X₃←X₃+1;                   70~79:79人

                X∈60~69:X₄←X₄+1;                   60~69:31人

                X∈0~59:X₅←X₅+1;                      0~59:10人

        ENDCASE 分类总比较次数539次

语句顺序2:

        CASE

                X∈70~79:X₃←X₃+1;

                X∈80~89:X₂←X₂+1;

                X∈60~69:X₄←X₄+1;

                X∈90~100:X₁←X₁+1;

                X∈0~59:X₅←X₅+1;

        ENDCASE                         分类总比较次数423次

②一般过程引用

        Call

③函数过程引用

        F(X)=A*sinX

④出错提示语句

        error)

⑤算法终结语句(算法出口语句)

        exit 正常离开、结束

        return 携带东西再离开

        abort 中途废止、废弃

⑥复合语句

        括起来 静态数据:空间分配固定

        动态数据:指针分配

小讯
上一篇 2025-01-26 22:59
下一篇 2025-03-17 13:42

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/36113.html