作业8
1、分析 Chap.5 (Lec.19) 自动售货机软件例子生成的判定表图例的第6列和第23列,分别给出:
(1)、输入条件的自然语义陈述;
(2)、输出结果的自然语义陈述;
(3)、用命题逻辑形式描述实现上述输入-输出过程所应用的判定规则,并写出获得输出结果的推理演算过程。
自动售货机软件例子:
- 设计处理单价为5角的饮料的自动售货机软件的测试用例。软件规格说明如下:
- (1) 常规情况下,操作者投入5角或1元的硬币,按下 橙汁 或 啤酒 的按钮,售货机送出相应的饮料 (不考虑饮料不足的情况)。
- (2) 若售货机没有零钱找,则一个显示 零钱找完 的红灯亮。
- 此时操作者投入1元硬币并按下按钮后,不送出饮料,而是退还1元硬币。
- (3) 若售货机有零钱找,则显示 零钱找完 的红灯灭。
- 此时操作者投入1元硬币并按下按钮后,售货机送出饮料,退还5角硬币。
原因和结果清单:
- 原因清单 (输入条件)
- C1 售货机可找零
- C2 投入1元硬币
- C3 投入5角硬币
- C4 按下 橙汁 按钮
- C5 按下 啤酒 按钮
- 结果清单 (输出结果)
- E21 零钱找完 灯亮
- E22 退还1元硬币
- E23 退还5角硬币
- E24 送出橙汁饮料
- E25 送出啤酒饮料
处理的中间状态:
- T11 投入1元硬币且按下饮料按钮
- T12 按下 橙汁 或 啤酒 按钮
- T13 应当找5角零钱并且售货机有零钱找
- T14 钱已付清
因果图:
判定表图例:
答:
(1)、输入条件的自然语义陈述
第6列:输入条件的C1、C2、C4为真,C3、C5为假,自然语义陈述为当售货机可找零时,投入1元硬币并按下橙汁按钮。
第23列:输入条件的C2、C5为真,C1、C3、C4为假,自然语义陈述为当售货机不能找零时,投入1元硬币并按下啤酒按钮。
(2)、输出结果的自然语义陈述
第6列:输出结果的E23和E24为真,E21、E22、E25为假,自然语义陈述为售货机零钱找完灯灭,退还5角硬币并且送出橙汁饮料。
第23列:输出结果的E21和E22为真,E23、E24、E25为假,自然语义陈述为售货机零钱找完灯亮,退还1元硬币并不送出饮料。
(3)、用命题逻辑形式描述实现上述输入-输出过程所应用的判定规则,并写出获得输出结果的推理演算过程
第6列:
判定规则:
C4 ∨ C5 ⇒ T12
C2 ∧ T12 ⇒ T11
C1 ∧ T11 ⇒ T13
C3 ∨ T13 ⇒ T14
T13 ⇒ E23
C4 ∧ T14 ⇒ E24
推演过程:
以C1、C2、C4为前提,应用上述规则:
∵ C4 ∨ C5 ⇒ T12,C4为真
∴ T12为真
∵ C2为真,T12为真,C2 ∧ T12 ⇒ T11
∴ T11为真
∵ C1为真,T11为真,C1 ∧ T11 ⇒ T13
∴ T13为真
∵ T13为真,C3 ∨ T13 ⇒ T14,T13 ⇒ E23
∴ T14、E23为真
∵ C4为真,T14为真,C4 ∧ T14 ⇒ E24
∴ E24为真
从而E23、E24得证
第23列:
判定规则:
C4 ∨ C5 ⇒ T12
C2 ∧ T12 ⇒ T11
﹁C1 ⇒ E21
﹁C1 ∧ T11 ⇒ E22
推演过程:
以C2、C5为前提,应用上述规则:
∵ C5为真,C4 ∨ C5 ⇒ T12
∴ T12为真
∵ C2为真,T12为真,C2 ∧ T12 ⇒ T11
∴ T11为真
∵ ﹁C1为真,﹁C1 ⇒ E21
∴ E21为真
∵ ﹁C1为真,T11为真,﹁C1 ∧ T11 ⇒ E22
∴ E22为真
从而E21、E22得证