(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图6-3
描绘了等价的结构化程序的盒图。
不使用flag把该程序改造为等价的结构化程序的方法如图6-4所示。
3)
6-5.研究下面的伪代码程
序:??LOOP:?Set?I?to?(START+FINISH)/2????If?TABLE(I)=ITEM?goto?FOUND????If?TABLE(I)
(2)?程序是结构化吗?说明理由。?
(3)?若程序是非结构化的,设计一个等价的结构化程序并且画出流程图。?(4)?此程序的功能是什么?它完成预定功能有什么隐含的前提条件。?答:(1)该程序流程图如下:
(2)该程序不是结构化的,结构化的程序只有一个入口和一个出口,而该程序的流程途中有两个出口。?
(3)等价的结构化程序的流程图如下:
4)此程序有二分查找的功能,它完成预定功能的隐含前提条件是现有序列为从小到大顺序排好的有序序列。
6-7.某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费加上与交易中的每股价格和股数有关的附加手续费。如果交易总金额少于1000元,则基本手续费为交易金额的%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额的5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额的4%加上134元。当每股售价低于14元时,附加手续费为基本手续费的5%,除非买进、卖出的股数不是100的倍数,在这种情况下附加手续费为基本手续费的9%。当每股售价在14元到25元之间时,附加手续费为基本手续费的2%,除非交易的股数不是100的倍数,在这种情况下附加手续费为基本手续费的6%。当每股售价超过25元时,如果交易的股数零散(即,不是100的倍数),则附加手续费为基本手续费的4%,否则附加手续费为基本手续费的1%。?要求:?
(1) 用判定表表示手续费的计算方法;?(2)?用判定树表示手续费的计算方法。?答:(1)判定表如图6-6所示:
(2)
(2)判定树如图6-7所示:
6-8
相关推荐: