最初のページ 戻る 次へ 最後のページ

#include <stdio.h>

int main(){

int a,b,c,d,y,y1,y2;

printf(" a b c d| Y|Y1|Y2\n--------+--+--+--\n");

for(a=0;a<2;a++)

for(b=0;b<2;b++)

for(c=0;c<2;c++)

for(d=0;d<2;d++){

/*問題の論理式*/

y = !a&&b&&!c || a&&!b&&d || !c&&!d || a&&!d;

/*加法形論理式*/

y1= a&&!b || !c&&!d || !a&&b&&!c || a&&!d;

/*乗法形論理式*/

y2= (a||!c) && (!a||!b||!d) && (a||b||!d);

printf("%2d%2d%2d%2d|%2d|%2d|%2d\n",    a, b, c, d, y, y1, y2);

}

return 0;

}

a b c d| Y|Y1|Y2

--------+--+--+--

0 0 0 0| 1| 1| 1

0 0 0 1| 0| 0| 0

0 0 1 0| 0| 0| 0

0 0 1 1| 0| 0| 0

0 1 0 0| 1| 1| 1

0 1 0 1| 1| 1| 1

0 1 1 0| 0| 0| 0

0 1 1 1| 0| 0| 0

1 0 0 0| 1| 1| 1

1 0 0 1| 1| 1| 1

1 0 1 0| 1| 1| 1

1 0 1 1| 1| 1| 1

1 1 0 0| 1| 1| 1

1 1 0 1| 0| 0| 0

1 1 1 0| 1| 1| 1

1 1 1 1| 0| 0| 0