某程序输入三个整数作为三角形的边长,判断并输出三角形的类型(等边三角形、等腰三角形、一般三角形)。请用等价类划分法设计该程序的测试用例
时间: 2023-12-03 18:02:08 浏览: 21
根据等价类划分法,可以将输入的三个整数分为以下等价类:
1. 等边三角形:三个边长相等的情况
2. 等腰三角形:两个边长相等的情况
3. 一般三角形:三个边长都不相等的情况
4. 非三角形:其中任意两个边长之和小于第三个边长的情况
根据以上等价类,设计以下测试用例:
等边三角形:
- (3, 3, 3)
- (10, 10, 10)
等腰三角形:
- (3, 4, 4)
- (5, 5, 7)
一般三角形:
- (3, 4, 5)
- (7, 8, 9)
非三角形:
- (1, 2, 4)
- (5, 10, 25)
其中,等边三角形和等腰三角形都属于特殊情况,需要额外测试;一般三角形包含了边长都不相等的情况,也需要覆盖到;非三角形是不符合三角形定义的情况,也需要测试。
相关问题
某程序输入三个整数作为三角形的边长,判断并输出三角形的类型(等边三角形、等腰三角形、一般三角形)。请用等价类划分法设计该程序的测试用例。
等价类划分法是软件测试中一种重要的测试设计技术。它将测试用例划分为不同的等价类,以确保测试用例的充分性和有效性。对于这个程序,我们可以将输入的三个整数划分为以下等价类:
1.等边三角形:三个整数都相等。
2.等腰三角形:两个整数相等,另一个不相等。
3.一般三角形:三个整数都不相等。
4.不是三角形:任意两边之和小于第三边。
因此,我们可以设计以下测试用例:
等边三角形:
输入:3, 3, 3
输出:等边三角形
等腰三角形:
输入:5, 5, 3
输出:等腰三角形
输入:3, 4, 3
输出:等腰三角形
一般三角形:
输入:3, 4, 5
输出:一般三角形
输入:7, 8, 9
输出:一般三角形
不是三角形:
输入:1, 2, 4
输出:不是三角形
输入:5, 10, 25
输出:不是三角形
通过这些测试用例,我们可以覆盖所有的等价类,确保程序能够正确地判断三角形的类型。
输入三个整数作为边长,判断该三条边构成的是直角等腰还是一般三角形,N-S图(盒图)
思路:三边长构成直角三角形的条件是其中两条边的平方和等于第三条边的平方,且这两条边不相等;构成等腰三角形的条件是其中两条边相等;否则就是一般三角形。
代码如下:
```python
a, b, c = map(int, input().split())
if a*a + b*b == c*c and a != b:
print("直角三角形")
elif a == b or b == c or a == c:
print("等腰三角形")
else:
print("一般三角形")
```
示例输入1:
```
3 4 5
```
示例输出1:
```
直角三角形
```
示例输入2:
```
3 3 4
```
示例输出2:
```
等腰三角形
```
示例输入3:
```
2 3 4
```
示例输出3:
```
一般三角形
```