软件工程---习题六

4. 图6.18给出的程序流程图代表一个非结构化的程序,问:
  (1)为什么说它是非结构化的?
  答:通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序,每个代码块只有一个入口和一个出口。图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。
  (2)设计一个等价的结构化程序。
  答:使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图示盒图描绘了等价的结构化程序。
在这里插入图片描述
  (3)在(2)题的设计中使用附加的标识变量flag了吗?若没用,再设计一个使用flag的程序;若用了,再设计一个不用flag 的程序。
答:不使用flag把该程序改造为等价的结构化程序的方法如图所示。
在这里插入图片描述

5. 研究下面的伪码程序:

LOOP:  Set I to (START+FINISH) / 2
If  TABLE(I)  =  ITME  goto  FOUND
If  TABLE(I)  <  ITME  Set  START  to  (I+1)
If  TABLE(I)  >  ITME  Set  FINISH  to  (I-1)
If  (FINISH-START)  >  1  goto  LOOP
If  TABLE(START)  =  ITEM   goto   FOUND
If  TABLE(FINISH)  =  ITEM   goto   FOUND
Set  FLAG  to  0
Goto  DONE
FOUND:  Set  FLAG  to  1
DONE:  Exit

要求:
  (1)画出程序流程图。
在这里插入图片描述
  (2)程序是结构化的吗?说明理由。
  答:该程序不是结构化的,结构化的程序只有一个入口和一个出口,而该程序的流程途中有两个口。
  (3)若此程序是非结构化,设计一个等价的结构化程序并画出流程图。

在这里插入图片描述
  (4)此程序的功能是什么?它完成预定功能有什么隐含的前提条件吗?
答:此程序有二分查找的功能,它完成预定功能的隐含前提条件是现有序列为从小到大顺序排好的有序序列。
9. 把统计空格程序的Jackson 图(图6.13)该画为等价的程序流程图和盒图。
  答:流程图:
在这里插入图片描述

  盒图:
在这里插入图片描述

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YoLo-8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值