1、三角形问题说明:输入三个正整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型是否为等边三角形、等腰三角形、直角三角形、普通三角形以及非三角形。根据问题的规格说明,可以从输出域划分5种等价类:
输出等价类
ID |
条件 |
等价类 |
1 |
a=b∧b=c∧a=c∧(a+b>c∧b+c>a∧a+c>b) |
等边三角形 |
2 |
a=b∨b=c∨a=c∧(a+b>c∧b+c>a∧a+c>b) |
等腰三角形 |
3 |
a2+b2=c2∨b2+c2=a2∨a2+c2=b2∧(a+b>c∧b+c>a∧a+c>b) |
直角三角形 |
4 |
a≠b∧b≠c∧a≠c∧(a+b>c∧b+c>a∧a+c>b) |
普通三角形 |
5 |
(a+b≤c∨b+c≤a∨a+c≤b)∨a≤0∨b≤0∨c≤0 |
非三角形 |
编程实现:
(1)对每一个输出等价类,至少设计一个测试用例。
输入格式:输入(a,b,c):
输出格式:输出(ID类型):
例如:输入(a,b,c):5,5,5↙(回车)
输出(ID类型):1(等边三角形),2(等腰三角形)
(2)假设10≤a,b,c≤100,根据划分的等价类,设计边界值测试用例。
例如:输入(a,b,c):60,60,10↙(回车)
输出(ID类型):2(等腰三角形)
2、阅读下面的一段程序,
voidTest2(intX,intA,intB)
1{
2intk=0,j=0;
3if((A>1)&&(B=0))
4{
5X=X/A;
6k=A*B-1;
7}
8if((A==2)||(X>1))
9X=X+1;
10j=X+3;
11}//Test2
根据所给定的程序,确定该程序的独立路径如下:
路径1:3→8→10→11
路径2:3→5→6→8→10→11
路径3:3→8→9→10→11
路径4:3→5→6→8→9→10→11
编程实现:
对每一个独立路径,设计一个测试用例,并插入一条显示输出语句(printf/cout),显示测试路径标号。
输入格式:输入(X,A,B):
输出格式:输出(k,j):k=j=
路径ID:
例如:输入(X,A,B):1,2,1↙(回车)
输出(k,j):k=0j=5
路径ID:测试路径4
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |