진리표를 가져 와서 압축 된 if 블록으로 바꾸려면 어떻게해야합니까?
예를 들어 A와 B가 조건이고 x, y 및 z가 가능한 조치 인이 진리표가 있다고 가정 해 봅시다.
A B | x y z
-------------
0 0 | 0 0 1
0 1 | 0 0 1
1 0 | 0 1 0
1 1 | 1 0 0
블록이면 아래와 같이 변환 될 수 있습니다.
if(A)
{
if(B)
{
do(x)
}
else
{
do(y)
}
}
else
{
do(z)
}
이것은 쉬운 샘플이지만, 다른 방식으로 결합 된 여러 가지 조건이 종종 다른 출력을 생성해야하며 if 블록에서 논리를 표현하는 가장 압축되고 우아한 방법을 파악하기가 어렵습니다.