有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下 ·若投入2.5元硬币,按下“橙汁”或“啤酒”的按钮,则送出相应的饮料。 ·若投入3元钱的硬币,同样按下“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。 要求:设计决策表,
时间: 2024-11-09 20:25:46 浏览: 77
为了设计这个自动售货机的决策表,我们需要列出所有可能的输入条件、操作步骤以及对应的输出结果。这是一个简单的流程:
**决策表**
| 输入 | 按钮选择 | 输出操作 |
| -- | --- | --- |
| 硬币金额 | 橙汁 | 送出橙汁 |
| 硬币金额 | 啤酒 | 送出啤酒 |
| 2.5元 | 橙汁或啤酒 | 送出对应饮料 |
| 3元 | 橙汁或啤酒 | 送出对应饮料 -> 退回5角硬币 |
**状态转换规则**
1. 如果投入的是2.5元硬币并选择了橙汁或啤酒,那么程序会直接送出发饮料。
2. 如果投入的是3元硬币,则程序首先检查用户的选择,无论选哪一种饮料,都会送出饮料,并退回5角硬币。
**伪代码示例**
```python
def operate(drink_selection, coin_amount):
if coin_amount == 2.5 and (drink_selection == "橙汁" or drink_selection == "啤酒"):
deliver_drink(drink_selection)
elif coin_amount == 3 and (drink_selection == "橙汁" or drink_selection == "啤酒"):
deliver_drink(drink_selection)
return_change(0.5)
```
相关问题
1、有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下: 若投入2.5元硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。 若投入3元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。 要求:画出因果图,设计决策表,设计测试用例。
因果图如下:
![因果图](https://i.imgur.com/3ZT5BcB.png)
决策表如下:
| 条件 | 操作 | 结果 |
|:---:|:---:|:---:|
| 投入2.5元硬币,按下“橙汁”按钮 | 无 | 送出橙汁 |
| 投入2.5元硬币,按下“啤酒”按钮 | 无 | 送出啤酒 |
| 投入3元硬币,按下“橙汁”按钮 | 无 | 送出橙汁,退回5角钱硬币 |
| 投入3元硬币,按下“啤酒”按钮 | 无 | 送出啤酒,退回5角钱硬币 |
测试用例如下:
| 测试用例编号 | 输入 | 期望输出 |
|:---:|:---:|:---:|
| 1 | 投入2.5元硬币,按下“橙汁”按钮 | 送出橙汁 |
| 2 | 投入2.5元硬币,按下“啤酒”按钮 | 送出啤酒 |
| 3 | 投入3元硬币,按下“橙汁”按钮 | 送出橙汁,退回5角钱硬币 |
| 4 | 投入3元硬币,按下“啤酒”按钮 | 送出啤酒,退回5角钱硬币 |
(3)有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明 如下。 · 若投入2.5元硬币,按下“橙汁”或“啤酒”的按钮,则送出相应的饮料。 · 若投入3元钱的硬币,同样按下“橙汁”或“啤酒”的按钮,则自动售货机在送出相应 饮料的同时退回5角钱的硬币。 要求:画出因果图,设计决策表,导出测试用例。
因果图如下:
```
投币金额 --+-- 2.5元 -- 按钮 --+-- 橙汁 -- 饮料出口
| +-- 啤酒 -- 饮料出口
|
+-- 3元 -- 按钮 --+-- 橙汁 -- 饮料出口 -- 5角 -- 退币口
+-- 啤酒 -- 饮料出口 -- 5角 -- 退币口
```
决策表如下:
| 条件 | 操作 | 结果 |
| --- | --- | --- |
| 投币金额=2.5元,按钮=橙汁 | 送出橙汁 | 饮料出口 |
| 投币金额=2.5元,按钮=啤酒 | 送出啤酒 | 饮料出口 |
| 投币金额=3元,按钮=橙汁 | 送出橙汁,退回5角 | 饮料出口,退币口 |
| 投币金额=3元,按钮=啤酒 | 送出啤酒,退回5角 | 饮料出口,退币口 |
测试用例如下:
| 测试用例编号 | 投币金额 | 按钮 | 期望输出 |
| --- | --- | --- | --- |
| 1 | 2.5元 | 橙汁 | 饮料出口 |
| 2 | 2.5元 | 啤酒 | 饮料出口 |
| 3 | 3元 | 橙汁 | 饮料出口,退币口 |
| 4 | 3元 | 啤酒 | 饮料出口,退币口 |
阅读全文