课后作业: 有个饮料售卖机,有可乐,啤酒,奶茶,可投币3,5元,可乐,啤酒,奶茶售价2,3,5,输出是饮料和零钱及提示信息。写出因果图、决策表和测试用例。
时间: 2024-12-17 19:26:59 浏览: 9
首先,我们来分析这个问题并创建一个简化版的因果图(Cause-Effect Diagram)、决策表以及测试用例。
**因果图(Pseudocode/Cause-Effect Diagram):**
```plaintext
+--+
| 输入: 钱 (coins) |
| 输入: 饮料选择 (choice) |
+-------------------+
|
V
+------------------------+
| 决策逻辑: 如果...则... |
+------------------------+
| - coins >= 3 |
| 钱退余 |
| 选择饮料 |
| 出售饮料 |
| 结算信息 |
+------------------------+
| - coins == 2 |
| 取消购买 |
| 没有零钱 |
| 结算信息 |
+------------------------+
| - coins < 2 |
| 不够支付 |
| 提示信息 |
+------------------------+
```
**决策表(Decision Table):**
| 钱(coins) | 饮料选择(choice) | 结果 | 说明 |
| -- |
| ≥3 | 可乐(C), 奶茶(M) | 饮料 + 零钱 | 钱剩余金额给用户,饮料出售 |
| =2 | 可乐(C) | 没有零钱 | 钱退回,提示未购买其他饮料 |
| =2 | 啤酒(B) | 禁止购买 | 仅允许2元购买可乐 |
| <2 | * | 提示信息 | 不足付款,无法完成交易 |
**测试用例(Test Cases):**
1. 测试用例1: 钱=3, 选择可乐 -> 预期结果: 可乐+0元,提示“找回零钱”
2. 测试用例2: 钱=2, 选择奶茶 -> 预期结果: 奶茶+0元,提示“已取消购买”
3. 测试用例3: 钱=1, 选择啤酒 -> 预期结果: 提示“不够支付,无法购买”
4. 测试用例4: 钱=4, 选择可乐 -> 预期结果: 可乐+1元,提示“找回1元”
注意:实际编写时,你需要将上述流程转换成具体的程序代码,如Python或JavaScript,并确保代码能处理边界情况和其他可能输入。
阅读全文