Saltar al contenido

De expresiones a circuitos

Diez fórmulas que hay que convertir en listas de compuertas: para cada una, nombra las compuertas en orden de evaluación, con sus entradas, de modo que la salida de la última compuerta sea la fórmula, y cuenta las compuertas. La fórmula y su tabla de verdad están bajo cada problema; la solución da una lista de compuertas y el recuento.

Trabaja de dentro hacia fuera, como evalúa el motor: primero los paréntesis más interiores, después NOT, luego AND, luego XOR y por último OR, con -> y <-> reescritos como las compuertas que no tienen. Cada operador se convierte en una compuerta; una cadena de tres AND es un AND de tres entradas o dos AND de dos entradas, y la solución dice qué recuento usa. Una implicación es un inversor y un OR; un bicondicional es una compuerta XNOR, o un XOR seguido de un inversor.

Una lista de compuertas es un circuito en forma de texto: g1 = AND(A, B), g2 = OR(g1, C), salida g2. Dos listas de compuertas para la misma fórmula son correctas si sus salidas coinciden en todas las filas, que es lo que la tabla de verdad bajo el problema te permite comprobar; el recuento puede diferir, y las soluciones indican el de la lectura directa, no el de un diseño más corto. La serie de diseño solo con NAND trata de reconstruir los mismos circuitos con un único tipo de compuerta.

1. Da la lista de compuertas de (A AND B) OR C. (A AND B) OR C
#ABCf
0FALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROVERDADERO
2FALSOVERDADEROFALSOFALSO
3FALSOVERDADEROVERDADEROVERDADERO
4VERDADEROFALSOFALSOFALSO
5VERDADEROFALSOVERDADEROVERDADERO
6VERDADEROVERDADEROFALSOVERDADERO
7VERDADEROVERDADEROVERDADEROVERDADERO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

(A AND B) OR C

Clasificación: contingente

g1 = AND(A, B), g2 = OR(g1, C); salida g2. Dos compuertas.

2. Da la lista de compuertas de NOT A AND B. NOT A AND B
#ABf
0FALSOFALSOFALSO
1FALSOVERDADEROVERDADERO
2VERDADEROFALSOFALSO
3VERDADEROVERDADEROFALSO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

NOT A AND B

Clasificación: contingente

g1 = NOT(A), g2 = AND(g1, B); salida g2. Dos compuertas: el inversor está solo sobre A.

3. Da la lista de compuertas de (A OR B) AND NOT C. (A OR B) AND NOT C
#ABCf
0FALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROFALSO
2FALSOVERDADEROFALSOVERDADERO
3FALSOVERDADEROVERDADEROFALSO
4VERDADEROFALSOFALSOVERDADERO
5VERDADEROFALSOVERDADEROFALSO
6VERDADEROVERDADEROFALSOVERDADERO
7VERDADEROVERDADEROVERDADEROFALSO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

(A OR B) AND NOT C

Clasificación: contingente

g1 = OR(A, B), g2 = NOT(C), g3 = AND(g1, g2); salida g3. Tres compuertas.

4. Da la lista de compuertas de A XOR B, primero con una compuerta XOR y después solo con AND, OR y NOT. A XOR B
#ABf
0FALSOFALSOFALSO
1FALSOVERDADEROVERDADERO
2VERDADEROFALSOVERDADERO
3VERDADEROVERDADEROFALSO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

A XOR B

Clasificación: contingente

Una compuerta XOR, g1 = XOR(A, B). Solo con AND, OR y NOT, la eliminación de XOR da (A AND NOT B) OR (NOT A AND B): dos inversores, dos AND y un OR, cinco compuertas.

5. Da la lista de compuertas de (A AND B) OR (NOT A AND C). (A AND B) OR (NOT A AND C)
#ABCf
0FALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROVERDADERO
2FALSOVERDADEROFALSOFALSO
3FALSOVERDADEROVERDADEROVERDADERO
4VERDADEROFALSOFALSOFALSO
5VERDADEROFALSOVERDADEROFALSO
6VERDADEROVERDADEROFALSOVERDADERO
7VERDADEROVERDADEROVERDADEROVERDADERO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

(A AND B) OR (NOT A AND C)

Clasificación: contingente

g1 = AND(A, B), g2 = NOT(A), g3 = AND(g2, C), g4 = OR(g1, g3); salida g4. Cuatro compuertas, el multiplexor 2 a 1 con A como selección.

6. Da la lista de compuertas de NOT (A AND B). NOT (A AND B)
#ABf
0FALSOFALSOVERDADERO
1FALSOVERDADEROVERDADERO
2VERDADEROFALSOVERDADERO
3VERDADEROVERDADEROFALSO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

NOT (A AND B)

Clasificación: contingente

Una compuerta NAND, g1 = NAND(A, B); o g1 = AND(A, B), g2 = NOT(g1), dos compuertas. La misma función en ambos casos: falsa solo en A = TRUE, B = TRUE.

7. Da la lista de compuertas de A -> B. A -> B
#ABf
0FALSOFALSOVERDADERO
1FALSOVERDADEROVERDADERO
2VERDADEROFALSOFALSO
3VERDADEROVERDADEROVERDADERO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

A -> B

Clasificación: contingente

No existe una compuerta de implicación: la eliminación de la implicación da NOT A OR B, así que g1 = NOT(A), g2 = OR(g1, B); salida g2. Dos compuertas.

8. Da la lista de compuertas de A <-> B. A <-> B
#ABf
0FALSOFALSOVERDADERO
1FALSOVERDADEROFALSO
2VERDADEROFALSOFALSO
3VERDADEROVERDADEROVERDADERO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

A <-> B

Clasificación: contingente

Una compuerta XNOR, g1 = XNOR(A, B), verdadera cuando las entradas coinciden; o g1 = XOR(A, B), g2 = NOT(g1), dos compuertas.

9. Da la lista de compuertas de A XOR B XOR C. A XOR B XOR C
#ABCf
0FALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROVERDADERO
2FALSOVERDADEROFALSOVERDADERO
3FALSOVERDADEROVERDADEROFALSO
4VERDADEROFALSOFALSOVERDADERO
5VERDADEROFALSOVERDADEROFALSO
6VERDADEROVERDADEROFALSOFALSO
7VERDADEROVERDADEROVERDADEROVERDADERO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

A XOR B XOR C

Clasificación: contingente

g1 = XOR(A, B), g2 = XOR(g1, C); salida g2. Dos compuertas, la salida de suma de un sumador completo; la cadena es una función de paridad.

10. Da la lista de compuertas de (A OR B) AND (C OR D). (A OR B) AND (C OR D)
#ABCDf
0FALSOFALSOFALSOFALSOFALSO
1FALSOFALSOFALSOVERDADEROFALSO
2FALSOFALSOVERDADEROFALSOFALSO
3FALSOFALSOVERDADEROVERDADEROFALSO
4FALSOVERDADEROFALSOFALSOFALSO
5FALSOVERDADEROFALSOVERDADEROVERDADERO
6FALSOVERDADEROVERDADEROFALSOVERDADERO
7FALSOVERDADEROVERDADEROVERDADEROVERDADERO
8VERDADEROFALSOFALSOFALSOFALSO
9VERDADEROFALSOFALSOVERDADEROVERDADERO
10VERDADEROFALSOVERDADEROFALSOVERDADERO
11VERDADEROFALSOVERDADEROVERDADEROVERDADERO
12VERDADEROVERDADEROFALSOFALSOFALSO
13VERDADEROVERDADEROFALSOVERDADEROVERDADERO
14VERDADEROVERDADEROVERDADEROFALSOVERDADERO
15VERDADEROVERDADEROVERDADEROVERDADEROVERDADERO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

(A OR B) AND (C OR D)

Clasificación: contingente

g1 = OR(A, B), g2 = OR(C, D), g3 = AND(g1, g2); salida g3. Tres compuertas en dos niveles.

Preguntas

¿Por qué un inversor cuenta como compuerta?

Porque lo es: un NOT tiene un coste en componentes y en retardo como cualquier otra compuerta, y omitirlo cambia la función. NOT A AND B necesita un inversor y un AND, dos compuertas; NOT (A AND B) es una sola compuerta NAND, o un AND y un inversor. Cuenta lo que la fórmula necesita de verdad.

Relacionado

Lecciones

Véase también

Ejercicios

Generado a partir del motor de Tangibool, semántica tangibool-semantics/1, motor 1.0.0, compilación . Cada tabla, mapa, simplificación y veredicto de estas páginas lo calculó el motor de Tangibool al compilar el sitio, y cada afirmación la volvió a comprobar el mismo verificador exacto que usa la app. Los límites se indican donde aplican. © 2026 Foreranger LTD.