%% gh
%% Un circuit logique pour afficher 4
%% P = \overline{a} + \overlin{(b \oplus c)}
%% échelle et étendue de l'image
60 setxunit
-4 4 setxrange
1 3.5 setyrange
% quadrillage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% définitions des couleurs
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/coul0 {0 0 0 0.5 setcmykcolor} def %gris
/coul1 {noir} def
/coul2 {orange} def
/coul3 {rouge} def
/coul4 {bleu} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Bibliothèque logic
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
uselogic
/loadnodedict true def
1.5 setlinewidth
/logicUnit .25 def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Les portes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(C) node %% declaration du noeud de sortie
2.5 2 (OR) ccpict
/posB {Cin0 exch pop 0 exch} def % hauteur entrée 0 de C
/posD {Cin0 exch pop -2 exch} def % hauteur entrée 0 de C
(A) node %% déclaration du noeud
0 3 (INV) ccpict
(B) node %% declaration du noeud
posB (INV) ccpict
(D) node
posD (XOR) ccpict
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Les points
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/A1 {Ain exch pop -3.5 exch} def % le point d'abscisse -3 à la
% hauteur de l'entrée 1 de A
/C1 {Din0 exch pop -3.5 exch} def
/B1 {Din1 exch pop -3.5 exch} def
/B1 {Ain exch pop -2 exch} def
$A$
A1 [1.5 dup] cltexlabel
$B$
B1 [1.5 dup] cltexlabel
$C$
C1 [1.5 dup] cltexlabel
$S$
Cout [1.5 dup] crtexlabel
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Les liaisons
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Aout Cin1 (-) pcline
Bout Cin0 (-) pcline
Dout Bin (-) line
A1 Ain (-) line
B1 Din1 (-) line
C1 Din0 (-) line