文档库 最新最全的文档下载
当前位置:文档库 › 作业三结构化系统设计[1]

作业三结构化系统设计[1]

作业三结构化系统设计[1]
作业三结构化系统设计[1]

作业三结构化系统设计(第6-8章)

3-1、用面向数据流的方法设计下列系统的软件结构

(1)储蓄系统

(2)机票预定系统

(3)患者监护系统

3-2、某火车售票系统的数据流程图如下所示,设计系统的软件结构

系统的软件结构图:

列车查询系统

查询结果输出

分析查询信息接受查询信息输入要查询信息按路线查询

按班次查询按日期查询

3-3、已知某系统的需求分析给出的系统数据流程图如下,画出结构图

系统的软件结构图:

3-4、画出下列伪码程序的程序流程图和盒图 START

IF p THEN

WHILE q DO f END DO ELSE

BLOCK g n

END BLOCK END IF STOP

F

P

T

q

g

f

n

3-5、下图给出的程序流程图代表一个非结构化的程序,请问: (1)为什么说它是非结构化的? (2)设计一个等价的结构化程序。

(3)在(2)题的设计中你使用附加的标志变量flag 吗?若没用,请再设计一个使用flag 的程序;若用了,再设计一个不用flag 的程序

答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。

(2)使用附加的标志变量flag ,至少有两种方法可以把该程序改造为等价的结构化程序,下图描绘了等价的结构化程序的盒图。

flag= TRUE

F p T

flag=FLASH g

(NOT q) OR (NOT flag)

(3)不使用flag 把该程序改造为等价的结构化程序的方法如图 F P T

g

(NOT q) OR (NOT q)

3-6、画出下列伪码程序的流图,计算它的环形复杂度。你觉得这个程序的逻辑有什么问题吗?

C EXAMPLE

LOOP:DO WHILE X>0 A=B+1 IF A>10

flag=TRUE P AND flag

g

q

F

T

flag=FAlSE

THEN X=A

ELSE

Y=Z

END IF

IF Y<5

THEN PRINT X,Y

ELSE

IF Y=2

THEN GOTO LOOP

ELSE

C=3

END IF

END IF

G=H+R

END DO

IF F>0

THEN PRINT G

ELSE

PRINT K

END IF

STOP

3-7、编码设计

(1)某一类服装编码是这样设计的:编码由6位组成,其中从左到右,第一位是大写英文字母,可由A、B、C、D组成,第二~六位为0到9的数字。如B32633表示按这种方法进行设计共可组成多少种编码?

4*10*10*10*10*10=400000 共有400000种编码

(2)设计代码校验位的方案如下:若原编码为12345,共五位。从左至右取权11,7,5,3,2,对乘积之和以11为模取余作为校验位。试问原编码的校验位应是多少?

(11*1+2*7+3*5+4*3+5*2)/11= 5 (7)

所以原编码的校验位应是7位

3-8、某交易所规定给经纪人的手续费计算方法如下:

总手续费等于基本手续费加上与交易

中的每股价格和股数有关的附加手续费。如果交易总金额少于1000元,则基本手续费为交易金额的8.4%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额的5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额的4%加上134元。

当每股售价低于14元时,附加手续费为基本手续费的5%,除非买进、卖出的股数不是100的倍数,在这种情况下附加手续费为基本手续费的9%。当每股售价在14元到25元之间时,附加手续费为基本手续费的2%,除非交易的股数不是100的倍数,在这种情况下附加手续费为基本手续费的6%。当每股售价超过25元时,如果交易的股数零散(即,不是100

的倍数),则附加手续费为基本手续费的4%,否则附加手续费为基本手续费的1%。

要求:

(1) 用判定表表示手续费的计算方法。

(2) 用判定树表示手续费的计算方法。

解:设 Q=每股价格

S=交易总金额

N=交易的股数是100的倍数

相关文档