《软件系统开发技术》课件第4章.ppt

《软件系统开发技术》课件第4章.ppt

  1. 1、本文档共313页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

由图4.68可机械地产生PASCAl。程序如下:

BEGIN

FIRST:--K[1];

SECOND:一O;

FORI:=2TON

DOBEGINIFK[1]~SECONDTHEN

BEGINIFK[I]FIRsT

THENBEGINSECOND:=FIRST;

FIRST:--K[I]

END

FLSESECOND:--K[I]

END

END

END图4.65图4.66图4.67图4.68如果是编写FORTRAN、COBOL程序,只要事先准备好对应表(类似于图4.65),方法也是相同的。

与流程图相比,PAD有逻辑结构清晰,图形标准化等优点;更重要的是,它强制设计人员使用SP方法,因而提高了产品的质量;另外,通过机械地“走树”可以从PAD直接产生程序,这一过程可望用计算机自动实现,10.4将介绍一个从PAD自动编程的系统。4.11.4程序设计语言(PDL)

详细设计的结果也可以用语言来描述,程序设计语言就是一个典型的代表。

程序设计语言(ProgramDesignLanguage,简称PDL)是一种非形式的比较灵活的语言,它用于描述模块内部的具体算法,以便在开发人员之间比较精确地进行交流。PDL的语法是开放式的,其外层语法是确定的,而内层语法则故意不确定。外层语法描述控制结构它用类似于一般编程语言控制结构的关键字(如IF—THEN—ELSE、WHILE—DO、REPEAT-UNTIL等)表示,所以是确定的,内层语法描述具体操作,考虑到不同软件系统的实际操阼种类繁多,内层语法故意不确定,它可以按系统的具体情况和不同的设计层次灵活选胃,实际上任意英语语句都可用来描述所需的具体操作例如,在PDL.描述

ifXisnotnegative

then

return(squarerootofXasarealnumber);

else

return(squarerootof—Xasanimaginarynumber);

中,外层语法IF—THEN—ELSE是确定的,内层操作“spuarerootofx”是不确定的,下面一段PDL描述了某个模块的内部算法,这个模块在给定长度的字符串中找出某个字符出现的位置和次数PROCEDUREFIND(string,char,len,occurrence,positions)

thisprocedurefindsthenumberofoccurrencesofacharacter,char,inanalphanu—

mericstringandstoresalinthecorrespondingbitpositionofapositionsarray

DECLAREstring(1en)ASSTRINGARG

charASCHARARG

index==0

lenASSCALARARG

occurrenceASSCALARARG

positionsASBITARRAYARGsetpositionsto0

occurrence==0

DOWHILEstring(index)-/-end—of—string

IFstring(index)==char

THENBEGIN

occurrence--occurrence+1

setposition(index)tol

ENDELSEskip

ENDIF

incrementindex

ENDDo

RETURN

ENDFIND可以看出,PDL的总体结构同一般程序相同,它也包括注释部分、数据说明部分和过程部分;其内层则可以是任意的英语语句。由于PDL同程序很相似,所以也称为伪程序(PoseudeCode),但是我们必须认识到PDL同程序是完全不同的,它仅仅是对算法的一种描述。

下面一段PDL描述的算法同图4.58的流程图或图4.62的NS图相同:

executeprocessa

REPEATUNTILconditionz8

execute

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档