【发布时间】:2014-01-25 17:07:14
【问题描述】:
例子:
if(A & B)
{
if(C)
{
}
if(D)
{
}
}
对于这段代码中的所有条件,我们有四种不同的状态。 0 代表 False,1 代表真实状态。 * 表示条件在此状态流中无效。 所以在这种情况下,下面列出了所有可能的状态。
A B C D
0 * * *
1 0 * *
1 1 1 0
1 1 0 1
说明: 在第一个状态 (0 * * *) 中,条件 A 为真。因此,B 在代码中没有任何作用。因为在评估 A 本身之后,if 案例失败了。因此条件 C 和 D 也不会被评估。 其他三种可能的状态也是如此。
但是是否有任何已经实现的算法可以让我找到特定输入的所有这些状态。因为当我们尝试解决更复杂的嵌套代码时,这会变成一个巨大的复杂问题。 我认为编写一个应用程序来给出这样的结果是非常困难的。
如果有人知道某种已经实现的东西可能对我有帮助,请告诉我。
【问题讨论】:
-
你还有
1 1 1 1 -
是的,你是对的。我错过了:)
-
还有
1 1 0 0也是可以的。 -
是的。还有一个:) 即使在这个简单的例子中,我也没有找到你们都提到的一些重要状态。这就是我发布这个问题的原因。当我试图解决一些复杂的嵌套 if else-s 时,我真的很头疼。
标签: programming-languages combinations conditional-statements stateflow