在三角形计算中,要求输入三角型的三个边长: A、B 和 C。当三边不可能构成三角形时 13 提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形” ,若是 等边三角形,则提示“等边三角形”。画出程序流程图、控制流程图、计算圈复杂度 V(g) , 找出基本测试路径
时间: 2023-11-22 15:55:20 浏览: 145
以下是该程序的流程图和控制流程图:
流程图:
```
开始
输入三角形的三个边长 A、B 和 C
如果 A+B>C 且 A+C>B 且 B+C>A,则
计算三角形周长 P = A + B + C
如果 A==B 或 B==C 或 A==C,则
如果 A==B==C,则
输出“等边三角形”
否则,
输出“等腰三角形”
否则,
输出“普通三角形”
否则,
输出“输入错误:无法构成三角形”
结束
```
控制流程图:
```
┌───┐
└─►□1 │
└─┬─┘
│
▼
┌───┐
│输入A│
└───┘
│
▼
┌───┐
│输入B│
└───┘
│
▼
┌───┐
│输入C│
└───┘
│
▼
┌─────┐
│A+B>C│
└──┬──┘
│true
▼
┌─────┐
│A+C>B│
└──┬──┘
│true
▼
┌─────┐
│B+C>A│
└──┬──┘
│true
▼
┌──────┐
│计算P│
└───┬──┘
│
▼
┌─────────────┐
│A==B 或 B==C│
└───┬────┬───┘
│ │true
▼ ▼
┌───────┐ ┌───┐
│A==B==C│ │输出│
└───┬───┘ └───┘
│false
▼
┌───────┐
│A==C │
└───┬───┘
│true
▼
┌───────┐ ┌───────┐
│输出等腰│ │结束 │
└───┬───┘ └───┬───┘
│false │
▼ ▼
┌────────┐
│B==C │
└───┬────┘
│true
▼
┌───────┐ ┌───────┐
│输出等腰│ │结束 │
└───┬───┘ └───┬───┘
│false │
▼ ▼
┌────────────┐
│输出普通三角形│
└────────────┘
│
▼
┌───────────┐
│A+B>C 或 A+C>B 或 B+C>A │
└───────────┘
│false
▼
┌─────────────────────┐
│输出“输入错误:无法构成三角形”│
└─────────────────────┘
│
▼
┌──────┐
│结束 │
└──────┘
```
计算圈复杂度 V(g):
根据控制流程图,可以列出如下的判定表:
| 判定节点 | 判定条件 | 分支数 |
| -------- | -------- | ------ |
| 1 | 无 | 1 |
| 2 | 无 | 1 |
| 3 | 无 | 1 |
| 4 | 无 | 1 |
| 5 | A+B>C | 2 |
| 6 | A+C>B | 2 |
| 7 | B+C>A | 2 |
| 8 | 无 | 1 |
| 9 | A==B 或 B==C | 2 |
| 10 | A==B==C | 2 |
| 11 | A==C | 2 |
| 12 | B==C | 2 |
| 13 | 无 | 1 |
| 合计 | | 32 |
其中,分支数是指从该判定节点出发的分支数。
由此可以得到 V(g) = 32。
基本测试路径:
由于本程序的 V(g) = 32,根据基本路径测试准则,需要选择一组测试用例,使得它覆盖程序中所有的基本测试路径。以下是一组可能的测试用例:
- 输入 3、4、5,期望输出 12(普通三角形)。
- 输入 3、3、5,期望输出 11(等腰三角形)。
- 输入 2、2、2,期望输出 6(等边三角形)。
- 输入 1、2、3,期望输出 “输入错误:无法构成三角形”。