问题
问答题
利用等价类的划分,为判断其中任意两个数之和应大于第3个数是否为三角形的条件建立等价类表。
答案
参考答案:
解析:等价类的划分通常可以分为以下几类:
①一个有效等价类和两个无效等价类。规定了输入数据的范围,可以将输入数据划分为一个有效等价类和两个无效等价类。例如,如果X输入的范围为1~50,则有效等价类为“1≤X≤50”,两个无效等价类为“X>50”或“X<1”。
②若干有效等价类和一个无效等价类。
③一个有效等价类和若干个无效等价类。如果规定了输入数据的范围,则可以划分出一个有效等价类和若干个无效等价类。
④在划分的某等价类中各值可以进一步划分成更小的等价类。如输入整数,则可将输入的有效等价类划为负整数、零、正整数等价类。
三角形判断的等价类表如表11.1所示:
表11.1 三角形判断等价类表
输入条件 | 有效等价数 | 无效等价数 |
3个正数 | 任意两个数之和大于第3个数③ | 两个数之和不大于第3个数② |
3个不全为正数 | 均为整数型,至少有一个数不等于0③含非数字型字符④ | |
变量个数 | 输入3个值⑤ | 输入值不足3个⑥ 输入值大于3个⑦ |
a=3,b=4,c=5;(覆盖①、⑤)
a=1,b=2,c=6;(覆盖②)
a=-3,b=2,c=5;(覆盖③)
a=2,b=2,c=5;(覆盖④)
a=2,b=3:(覆盖⑥)
a=1,b=3,c=5,d=3;(覆盖⑦)