【文件属性】:
文件名称:为什么说它是非结构化的?-qt高级编程文档
文件大小:2.54MB
文件格式:PDF
更新时间:2021-06-21 05:03:54
软件工程导论
(1)为什么说它是非结构化的?
(2)设计一个等价的结构化程序。
(3)在( 2)题的设计中使用附加的标识变量 flag了吗?
若没用,在设计一个使用 flag的程序;
若用了,在设计一个不用 flag的程序。
解:(1)通常所说的结构化程序,是按照狭义的结构程序的
定义衡量,符合定义规定的程序,每个代码块只有一个入口
和一个出口。图示的程序的循环控制结构有两个出口,显然
不符合狭义的结构程序的定义,因此是非结构化的程序。
(2)使用附加的标志变量 flag,至少有两种方法可以把该
程序改造为等价的结构化程序,图示盒图描绘了等价的结构
化程序。
flag=TRUE
p AND flag
g
q
F T
flag=FALSE
flag=TRUE
F
flag=FALSE g
T
p
(NOT q)OR(NOT flag)
(3)不使用 flag把该程序改造为等价的结构化程序的方法如图所示。
开始
p
q
g
停止T
F
F
T