文件名称:为什么说它是非结构化的?-qt高级编程文档
文件大小:2.54MB
文件格式:PDF
更新时间:2024-07-10 22:50:34
软件工程导论
(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