软件工程~~判定树和判定表

1. 判定表

当算法中包含多重嵌套的条件选择时,使用判定表能够清楚地表达。

判定表组成
左上部分所有条件
左下部分所有可能做的动作
右上部分各种条件组合,每一列表示一种可能组合
右下部分每一列对应每一种条件组合的动作
  • 对于这个不理解没有关系,直接看题目就能够掌握了。

eg:假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定表进行表达。

  1. 我们先将所有情况进行列出,就是面对行李是否<30kg是否为国内乘客是否为头等舱是否是残疾乘客我们托运行李的价格不一样

  2. T代表满足情况,F代表不满足,X代表我们应该付的价格(我个人建议你根据这个模板自己写其实更简单,顺序不同没有关系,其实就是排列组合所有情况)

在这里插入图片描述

2.判定树

判定表能够清晰的表达复杂的条件组合,但是对于初次接触的人来说需要一个理解的学习过程,判定树是判定表的变种,TA也能够清晰地表达复杂的条件组合,TA的优点在于不需要任何的说明,一眼能够看出其中的含义。虽然更加直观但是比起判定表TA的简洁性要差一些,同一个值有可能需要重复写。

跟上面一样的题目
eg:假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树进行表达。
在这里插入图片描述
以下举例一些题目
题目1:

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

转载自:https://blog.csdn.net/qq_43263647/article/details/105465536

题目2:某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费加上与交易中的每股价格和股数有关的附加手续费。如果交易金额少于1000元,则基本手续费为交易金额的8.4%;如果交易总金额在1000元~10000元之间,则基本手续费为交易金额的5%,再加34元;如果金额超过10000元,则基本手续费为交易金额的4%加上134元。当每股售价低于14元时,附加手续费为基本手续费的5%,除非买进、卖出的股数不是100的倍数,在这种情况下附加手续费的9%。当每股售价在14元到25元之间时,附加手续费为基本手续费的2%,除非交易的股数不是100的倍数,在这种情况下附加手续费的6%。当每股售价超过25元时,如果交易的股数(即不是100的倍数),则附加手续费为基本手续费的4%,否则附加手续费为基本手续费的1%。
要求:
(1)用判定表表示手续费的计算方法。
(2)用判定树表示手续费的计算方法。

解答

在这里插入图片描述

或者 在这里插入图片描述

在这里插入图片描述

转载自:https://blog.csdn.net/lpZhouYi/article/details/89815590

转载自:https://blog.csdn.net/qq_44723773/article/details/110098252

  • 34
    点赞
  • 211
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值