1 假设只有 SEQUENCE 和 DO_WHILE 两种控制结构,怎么利用它们完成 IF_THEN_ELSE 操作?
关键是对次数进行限制,伪码如下
K = 1;
DO WHILE(condition1 AND (K EQ 1))
code1;
K+=1;
END DO
DO WHILE(condition2 AND (K EQ 1))
code2;
K+=1;
END DO
2 假设只有 SEQUENCE 和 IF_THEN_ELSE 两种控制结构,怎么利用它们完成 DO_WHILE 操作?
//背景知识,运用顺序,选择,循环理论上可以实现任何单入口单出口的程序,如果只用到两种,可能需要用到goto语句
label: IF(condition)THEN
code1
GOTO label
ELSE
code2
END IF
3 画出下列伪代码程序的流程图和盒图
START
IF p THEN
WHILE q DO
f
END DO
ELSE
BLOCK
g
n
END BLOCK
END IF
STOP
流程图
4 图 6.18 给出的程序流程图代表一个非结构化的程序
1)为什么说它是非结构化的?
因为通常所说的结构化设计是按照狭义的结构程序定义,图中所示程序的循环部分,存在两个出口,不符合结构化程序的定义,所以时非结构化。
2)设计一个等价的结构化程序
3)在( 2)题的设计中使用附加的标识变量 flag 了吗?
若用了,在设计一个不用 flag 的程序(独立循环的判断)
9 把统计空格程序的 Jackson 图( 图 6.13 )改画为等价的程序流程图和盒图。
参考答案
另外一个博主的参考答案
第一个答案是普遍存在的参考答案,第二个时那个博主自己根据定义整理的。