Page 1 sur 1

Fonction logique OU inversée [Résolu]

Publié : jeu. 29/mars/2007 17:12
par Kwai chang caine
Bonjour a tous

Je cherche a faire une fonction qui serait l'inverse d'un OU

Code : Tout sélectionner

Fonction OU

 0  |  0  |    0
 0  |  1  |    1
 1  |  0  |    1
 1  |  1  |    1
donc j'aimerais avoir :

Code : Tout sélectionner

Fonction KCC

 0  |  0  |    1
 0  |  1  |    0
 1  |  0  |    0
 1  |  1  |    0
pour le code :

Code : Tout sélectionner

a = 1
b = 1

If a = 0 or b = 0
 Debug "Ok"
EndIf
J'ai vu qu'il existait un NOT mais je crois qu'il ne marche pas pour les variables. :cry:

C'est surement encore tout bete, mais je cherche depuis un bon bout de temps :?

Merci
Bonne journée

Publié : jeu. 29/mars/2007 18:02
par Flype
comme ceci - par exemple :

Code : Tout sélectionner

Macro nor(A, B)
  (Not ((A) Or (B)))
EndMacro

Debug nor(0, 0)  ;  0  |  0  |  1
Debug nor(0, 1)  ;  0  |  1  |  0
Debug nor(1, 0)  ;  1  |  0  |  0
Debug nor(1, 1)  ;  1  |  1  |  0 

Publié : jeu. 29/mars/2007 18:33
par Flype
allez on met la totale
en principe, il y a toutes les possibilités :

Code : Tout sélectionner

;- 
;- MACROS PORTE-LOGIQUE 
;- http://fr.wikipedia.org/wiki/Porte_logique
;- 

Macro _not(A)
  (Not (A))
EndMacro
Macro _or(A, B)
  ((A) Or (B))
EndMacro
Macro _xor(A, B)
  ((A) Xor (B))
EndMacro
Macro _nor(A, B)
  (_not(_or(A, B)))
EndMacro
Macro _xnor(A, B)
  (_not(_xor(A, B)))
EndMacro
Macro _and(A, B)
  ((A) And (B))
EndMacro
Macro _nand(A, B)
  (_not(_and(A, B)))
EndMacro

Debug "OU"
Debug _or(0, 0)  ;  0  |  0  |  0
Debug _or(0, 1)  ;  0  |  1  |  1
Debug _or(1, 0)  ;  1  |  0  |  1
Debug _or(1, 1)  ;  1  |  1  |  1

Debug "OU EXCLUSIF"
Debug _xor(0, 0)  ;  0  |  0  |  0
Debug _xor(0, 1)  ;  0  |  1  |  1
Debug _xor(1, 0)  ;  1  |  0  |  1
Debug _xor(1, 1)  ;  1  |  1  |  0

Debug "NON-OU"
Debug _nor(0, 0)  ;  0  |  0  |  1
Debug _nor(0, 1)  ;  0  |  1  |  0
Debug _nor(1, 0)  ;  1  |  0  |  0
Debug _nor(1, 1)  ;  1  |  1  |  0

Debug "NON-OU EXCLUSIF"
Debug _xnor(0, 0)  ;  0  |  0  |  1
Debug _xnor(0, 1)  ;  0  |  1  |  0
Debug _xnor(1, 0)  ;  1  |  0  |  0
Debug _xnor(1, 1)  ;  1  |  1  |  1

Debug "ET"
Debug _and(0, 0)  ;  0  |  0  |  0
Debug _and(0, 1)  ;  0  |  1  |  0
Debug _and(1, 0)  ;  1  |  0  |  0
Debug _and(1, 1)  ;  1  |  1  |  1

Debug "NON-ET"
Debug _nand(0, 0)  ;  0  |  0  |  1
Debug _nand(0, 1)  ;  0  |  1  |  1
Debug _nand(1, 0)  ;  1  |  0  |  1
Debug _nand(1, 1)  ;  1  |  1  |  0

Publié : lun. 02/avr./2007 9:36
par Kwai chang caine
Je te remercie beaucoup flype. 8)

De retour au boulot, je vais pouvoir appliquer cette infime partie de ton immense savoir.

Passe une excelente journée