2

就像Graphs 有一个不错的、通用的/通用的 ADT一样。

“真值表”有什么东西吗?我正在尝试从已经实现真值表的项目中找到“类”定义。

如果不是,您将如何设计(通用)真值表 ADT?

更新:正如评论中所建议的,这是我想出的:

  • 添加(删除)一行:(添加TruthTable.add(input,output)的第一行用于提取输入和输出的长度(以位为单位)。所有后续行添加都将针对此进行验证。)和TruthTable.delete(input)
  • 获取给定输入的输出(图像):TruthTable.output(input)TruthTable.image(input)
  • 获取所有输入:(TruthTable.inputs里程表订购。)
  • 获取所有输出:(TruthTable.outputs根据输入顺序或里程表顺序排序?)
  • 查看一个表是否完全指定,即对于所有 2 n 个可能的输入,是否指定了一个输出:TruthTable.completely_specified?

其他专门的操作可以是:

  • 检查真值表是否可逆:TruthTable.invertible?
  • 检查两个表是否等价:TT1 ==? TT2

(我有时希望编程语言允许方法名称以“?”结尾,对于那些返回 a 的方法的名称Bool

4

0 回答 0