1

我想为自动售货机设计一个组合电路,它提供两种物品,茶(2 美元)和水(1 美元)。这台机器最多接受 3 美元。

# 我用 3 个输入(美元)和 2 个输出(茶和水)绘制真值表。

d1 d2 d3  : t  w
-----------------
0  0  0   : 0  0
0  0  1   : 0  1
0  1  0   : 0  1
0  1  1   : 1  0
1  0  0   : 0  1
1  0  1   : 1  0 
1  1  0   : 1  0
1  1  1   : 1  1

有没有更好的方法来绘制真值表?

4

1 回答 1

0

您的初始真值表不能完全代表自动售货机。例如,考虑一个客户存入 2 美元应该被允许购买一茶或两水。还要考虑到机器应该原谅给定购买请求的超额存款。

定义:

输入

  • d1-d2:存款的二进制编码。
  • t : 要求茶。
  • w1-w2 : 请求水域数量的二进制编码。

输出

  • A : 接受存款并提供所需的茶和水。
  • D1-D2:返还给买家的零钱二进制编码。

真值表

以下真值表捕获

  • 给定存款的多种可能选择。
  • 如果选择比存入的钱便宜,则要进行更改。
  输入 || 输出
存款 | 请求 || 接受 | 改变
d2 d1 | t w2 w1 || 一个 | D2 D1
----------------------------------
0 0 | 0 0 0 || 0 | 0 0
0 0 | 0 0 1 || 0 | 0 0
0 0 | 0 1 0 || 0 | 0 0
0 0 | 0 1 1 || 0 | 0 0
0 0 | 1 0 0 || 0 | 0 0
0 0 | 1 0 1 || 0 | 0 0
0 0 | 1 1 0 || 0 | 0 0
0 0 | 1 1 1 || 0 | 0 0
0 1 | 0 0 0 || 0 | 0 0
0 1 | 0 0 1 || 1 | 0 0
0 1 | 0 1 0 || 0 | 0 0
0 1 | 0 1 1 || 0 | 0 0
0 1 | 1 0 0 || 0 | 0 0
0 1 | 1 0 1 || 0 | 0 0
0 1 | 1 1 0 || 0 | 0 0
0 1 | 1 1 1 || 0 | 0 0
1 0 | 0 0 0 || 0 | 0 0
1 0 | 0 0 1 || 1 | 0 1
1 0 | 0 1 0 || 1 | 0 0
1 0 | 0 1 1 || 0 | 0 0
1 0 | 1 0 0 || 1 | 0 0
1 0 | 1 0 1 || 0 | 0 0
1 0 | 1 1 0 || 0 | 0 0
1 0 | 1 1 1 || 0 | 0 0
1 1 | 0 0 0 || 0 | 0 0
1 1 | 0 0 1 || 1 | 1 0
1 1 | 0 1 0 || 1 | 0 1
1 1 | 0 1 1 || 1 | 0 0
1 1 | 1 0 0 || 1 | 0 1
1 1 | 1 0 1 || 1 | 0 0
1 1 | 1 1 0 || 0 | 0 0
1 1 | 1 1 1 || 0 | 0 0
于 2013-12-26T04:51:07.290 回答