Assignment
Assignment 6.
-
分析 Chap.5.1 (Lec.17) 自动售货机软件例子生成的判定表图例的第6列和第23列,分别给出:
(1) 输入条件的自然语义陈述;
(2) 输出结果的自然语义陈述;
(3) 用命题逻辑形式描述实现上述输入-输出过程所应用的判定规则,并写出获得输出结果的推理演算过程。
Answer
-
分析需求说明,列出原因和结果清单
- 原因清单 (输入条件)
- C1 售货机可找零
- C2 投入1元硬币
- C3 投入5角硬币
- C4按下橙汁按钮
- C5按下啤酒按钮
- 结果清单 (输出结果)
- E21
零钱找完
灯亮 - E22 退还1元硬币
- E23 退还5角硬币
- E24 送出橙汁饮料
- E25 送出啤酒饮料
- E21
- 建立中间结点,表示处理的中间状态
- T11 投入1元硬币且按下饮料按钮
- T12按下橙汁或啤酒按钮
- T13 应当找5角零钱并且售货机有零钱找
- T14 钱已付清
- 原因清单 (输入条件)
-
画出因果图
-
因果图转换成判定表
4. 判定表的分析
-
第6列
-
输入11010,表示C1售货机可找零、C2投入1元硬币、C4按 下橙汁按钮。输出 00110,表示 E23 退还5角硬币、E24 送出橙汁饮料。
-
实现上述输入-输出过程的规则描述:
C 1 ( 1 ) ⋀ T 11 ( 1 ) → T 13 ( 1 ) C1(1)\bigwedge T11(1) \rightarrow T13(1) C1(1)⋀T11(1)→T13(1) (3)
C 2 ( 1 ) ⋀ T 12 ( 1 ) → T 11 ( 1 ) C2(1) \bigwedge T12(1) \rightarrow T11(1) C2(1)⋀T12(1)→T11(1) (2)
C 4 ( 1 ) ⋁ C 5 ( 0 ) → T 12 ( 1 ) C4(1) \bigvee C5(0) \rightarrow T12(1) C4(1)⋁C5(0)→T12(1) (1)
C 3 ( 0 ) ⋁ T 13 ( 1 ) → T 14 ( 1 ) C3(0) \bigvee T13(1) \rightarrow T14(1) C3(0)⋁T13(1)→T14(1) (4)
C 4 ( 1 ) ⋀ T 14 ( 1 ) → E 24 ( 1 ) C4(1) \bigwedge T14(1) \rightarrow E24(1) C4(1)⋀T14(1)→E24(1) (5)
T 13 ( 1 ) → E 23 ( 1 ) T13(1) \rightarrow E23(1) T13(1)→E23(1) (6)
-
以 C 1 , C 2 , C 4 C1,C2,C4 C1,C2,C4为前提,应用上述规则,可以证明逻辑结论 E 23 E23 E23 和 E 24 E24 E24。
可以证明结论 ¬ E 21 , ¬ E 22 , ¬ E 25 \neg E21,\neg E22,\neg E25 ¬E21,¬E22,¬E25为真:
C 1 ( 1 ) → ¬ E 21 ( 0 ) C1(1) \rightarrow \neg E21(0) C1(1)→¬E21(0)
C 1 ( 1 ) ⋁ ¬ T 11 ( 1 ) → ¬ E 22 ( 0 ) C1(1) \bigvee \neg T11(1) \rightarrow \neg E22(0) C1(1)⋁¬T11(1)→¬E22(0)
¬ C 5 ( 0 ) ⋁ ¬ T 14 ( 1 ) → ¬ E 25 ( 0 ) \neg C5(0) \bigvee \neg T14(1) \rightarrow \neg E25(0) ¬C5(0)⋁¬T14(1)→¬E25(0)
-
-
第23列
-
输入01001,表示C1售货机不可找零、C2 投入1元硬币、C5按下啤酒按钮。输出 11000,表示 E21
零钱找完
灯亮 、E22 退还1元硬币。 -
实现上述输入-输出过程的规则描述:
¬ C 1 ( 0 ) → E 21 ( 1 ) \neg C1(0) \rightarrow E21(1) ¬C1(0)→E21(1) (4)
¬ C 1 ( 0 ) ⋀ T 11 ( 1 ) → E 22 ( 1 ) \neg C1(0) \bigwedge T11(1) \rightarrow E22(1) ¬C1(0)⋀T11(1)→E22(1) (3)
C 2 ( 1 ) ⋀ T 12 ( 1 ) → T 11 ( 1 ) C2(1) \bigwedge T12(1) \rightarrow T11(1) C2(1)⋀T12(1)→T11(1) (2)
C 4 ( 0 ) ⋁ C 5 ( 1 ) → T 12 ( 1 ) C4(0)\bigvee C5(1)\rightarrow T12(1) C4(0)⋁C5(1)→T12(1) (1)
-
以 C 2 , C 5 C2,C5 C2,C5为前提,应用上述规则,可以证明逻辑结论$ E21$ 和 E 22 E22 E22。
可以证明结论 ¬ E 23 , ¬ E 24 , ¬ E 25 \neg E23,\neg E24,\neg E25 ¬E23,¬E24,¬E25为真:
¬ C 1 ( 0 ) ⋁ ¬ T 11 ( 1 ) → ¬ T 13 ( 0 ) \neg C1(0)\bigvee \neg T11(1) \rightarrow \neg T13(0) ¬C1(0)⋁¬T11(1)→¬T13(0)
¬ T 13 ( 0 ) ↔ ¬ E 24 ( 0 ) \neg T13(0)\leftrightarrow \neg E24(0) ¬T13(0)↔¬E24(0)
¬ C 3 ( 0 ) ⋀ T 13 ( 0 ) → ¬ T 14 ( 0 ) \neg C3(0) \bigwedge T13(0) \rightarrow \neg T14(0) ¬C3(0)⋀T13(0)→¬T14(0)
¬ C 4 ( 0 ) ⋁ ¬ T 14 ( 0 ) → ¬ E 24 ( 0 ) \neg C4(0) \bigvee \neg T14(0) \rightarrow \neg E24(0) ¬C4(0)⋁¬T14(0)→¬E24(0)
¬ C 5 ( 1 ) ⋁ ¬ T 14 ( 0 ) → ¬ E 25 ( 0 ) \neg C5(1) \bigvee \neg T14(0) \rightarrow \neg E25(0) ¬C5(1)⋁¬T14(0)→¬E25(0)
-