Como dice el titulo del post, se pueden crear 20 puertas lógicas, de dos entradas, mediante la conexión de las puertas más conocidas, la puerta And ( & ), la puerta Or( | ), y la puerta Xor( ^ ) más el conector Not aplicado a una puerta o un conector.
A continuación mostraremos el código de cada una de ellas, en python3, comenzando por las tres fundamentales, And, Or y Xor, mostrando después de cada una, la salida que ofrece, a esas puertas no usuales las llamaremos Esp.
La puerta Xor, es de uso corriente en la vida cotidiana, " Si es Miércoles o Viernes como pescado", dado que no puede ser Miércoles y Viernes a la vez, esa seria la puerta indicada para resolver la operación booleana.
Como es bien conocido el conector Not, invierte el valor de la entrada o el resultado, si es True lo convierte en False y viceversa. Para lograr las mismas salidas de las denominadas puertas especiales, se pueden utilizar también otro tipo de conexiones.
boolean = [True, False] print('Puerta Lógica And\n') print('Val I','Val J','Res.','\n',sep='\t',) for i in boolean: for j in boolean: print(i, j, i and j, sep ='\t')Puerta Lógica And Val I Val J Res. True True True True False False False True False False False False
print('\nPuerta Lógica Or\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j, i or j, sep ='\t')Puerta Lógica Or Val I Val J Res. True True True True False True False True True False False False
print('\nPuerta Lógica Xor\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j, i ^ j, sep ='\t')Puerta Lógica Xor Val I Val J Res. True True False True False True False True True False False False
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j, i and (i ^ j), sep ='\t')Puerta Lógica Esp Val I Val J Res. True True False True False True False True False False False False
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j, j and (i ^ j), sep ='\t')Puerta Lógica Esp Val I Val J Res. True True False True False False False True True False False False
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j, not i and not j, sep ='\t')Puerta Lógica Esp Val I Val J Res. True True False True False False False True False False False True
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j, i or (i and j), sep ='\t')Puerta Lógica Esp Val I Val J Res. True True True True False True False True False False False False
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j, j or (i and j), sep ='\t')Puerta Lógica Esp Val I Val J Res. True True True True False False False True True False False False
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j, not (i ^ j), sep ='\t')Puerta Lógica Esp Val I Val J Res. True True True True False False False True False False False True
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j, not j, sep ='\t')Puerta Lógica Esp Val I Val J Res. True True False True False True False True False False False True
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j, not i, sep ='\t')Puerta Lógica Esp Val I Val J Res. True True False True False False False True True False False True
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j,i or not j, sep ='\t')Puerta Lógica Esp Val I Val J Res. True True True True False True False True False False False True
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j,j or not i, sep ='\t')Puerta Lógica Esp Val I Val J Res. True True True True False False False True True False False True
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j,not (i and j), sep ='\t')Puerta Lógica Esp Val I Val J Res. True True False True False True False True True False False True
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j,(i ^ j) or not(i ^ j), sep ='\t')Puerta Lógica Esp Val I Val J Res. True True True True False True False True True False False True
print('\nPuerta Lógica Esp\n') print('Val I','Val J','Res.','\n',sep='\t') for i in boolean: for j in boolean: print(i, j, i and not i, sep ='\t')Puerta Lógica Esp Val I Val J Res. True True False True False False False True False False False False
No hay comentarios:
Publicar un comentario