文章目录
1. 题目
- 分析 Chap.5.1 (Lec.17) 自动售货机软件例子生成的判定表图例的第6列和第23列,分别给出:
- 输入条件的自然语义陈述;
- 输出结果的自然语义陈述;
- 用命题逻辑形式描述实现上述输入-输出过程所应用的判定规则,并写出获得输出结果的推理演算过程。
2. 答案
Chap.5.1 (Lec.17) 自动售货机软件例子生成的判定表图例
设计处理单价为5角的饮料的自动售货机软件的测试用例。软件规格说明如下:
- 操作者投入5角或1元的硬币,按下 “橙汁” 或 “啤酒” 的按钮,售货机送出相应的饮料 (不考虑饮料不足的情况)。
- 若售货机没有零钱找,则一个显示 “零钱找完” 的红灯亮。
此时操作者投入1元硬币并按下按钮后,不送出饮料,而是退还1元硬币。 - 若售货机有零钱找,则显示 的红灯灭。
此时操作者投入1元硬币并按下按钮后,售货机送出饮料,退还5角硬币。
原因清单 (输入条件)
- C1 售货机可找零
- C2 投入1元硬币
- C3 投入5角硬币
- C4 按下 橙汁 按钮
- C5 按下 啤酒 按钮
结果清单 (输出结果)
- E21 “零钱找完” 灯亮
- E22 退还1元硬币
- E23 退还5角硬币
- E24 送出橙汁饮料
- E25 送出啤酒饮料
建立中间结点,表示处理的中间状态
- T11 投入1元硬币且按下饮料按钮
- T12 按下 “橙汁” 或 “啤酒” 按钮
- T13 应当找5角零钱并且售货机有零钱找
- T14 钱已付清
1. 输入条件的自然语义陈述
- 第6列:售货机可找零,顾客投入一元硬币并按下 “橙汁” 按钮。
- 第23列:售货机不可找零,顾客投入一元硬币并按下 “啤酒” 按钮。
2. 输出结果的自然语义陈述
- 第6列:售货机退还5角硬币并送出橙汁。
- 第23列:售货机“零钱找完”灯亮并退还1元。
3. 用命题逻辑形式描述实现上述输入-输出过程所应用的判定规则,并写出获得输出结果的推理演算过程
-
第6列实现上述输入-输出的规则描述:
C1 ^ T11 -> T13
C2 ^ T12 -> T11
C4 V C5 -> T12
C3 V T13 -> T14
T13 -> E23
C4 ^ T14 -> E24 -
第6列推理演算过程:
已知C1 = 1, C2 = 1, C4 = 1:
由 C4 V C5 -> T12 得到T12 = 1。
再由 C2 ^ T12 -> T11得到T11 = 1。
再由 C1 ^ T11 -> T13得到T13 = 1。
再由T13 -> E23 得到E23 = 1。
再由C3 V T13 -> T14 得到 T14 = 1。
最后由C4 ^ T14 -> E24得到E24 = 1。 -
第23列实现上述输入-输出的规则描述:
C4 V C5 -> T12
C2 ^ T12 -> T11
~C1 -> E21
~C1 ^ T11 -> E22 -
第23列推理演算过程:
已知C1 = 0, C2 = 1, C5 = 1:
由~C1 -> E21 得 E21 = 1
由C4 V C5 -> T12 得 T12 = 1
由C2 ^ T12 -> T11 得 T11 = 1
由~C1 ^ T11 -> E22 得E22 = 1