#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Tabla de verdad para números pares de 4 entradas Genera todas las combinaciones posibles de 4 bits y determina si el número es par """ def generar_tabla_verdad_pares(): """ Genera la tabla de verdad para números pares de 4 entradas """ print("=" * 60) print("TABLA DE VERDAD PARA NÚMEROS PARES DE 4 ENTRADAS") print("=" * 60) print("A B C D | Decimal | Binario | Es Par") print("-" * 60) # Contador de números pares contador_pares = 0 # Generar todas las combinaciones de 4 bits (0 a 15) for i in range(16): # Convertir a binario de 4 bits binario = format(i, '04b') # Extraer cada bit A = int(binario[0]) B = int(binario[1]) C = int(binario[2]) D = int(binario[3]) # Un número es par si el bit menos significativo (D) es 0 es_par = (D == 0) # Mostrar la fila print(f"{A} {B} {C} {D} | {i:2d} | {binario} | {es_par}") if es_par: contador_pares += 1 print("-" * 60) print(f"Total de números pares: {contador_pares} de 16") print(f"Total de números impares: {16 - contador_pares} de 16") print("=" * 60) def explicacion_logica(): """ Explica la lógica detrás de la tabla de verdad """ print("\n" + "=" * 60) print("EXPLICACIÓN DE LA LÓGICA") print("=" * 60) print("• Para 4 entradas (A, B, C, D), tenemos 2^4 = 16 combinaciones") print("• Los números pares son: 0, 2, 4, 6, 8, 10, 12, 14") print("• Los números impares son: 1, 3, 5, 7, 9, 11, 13, 15") print("• Un número es par si su bit menos significativo (D) es 0") print("• Un número es impar si su bit menos significativo (D) es 1") print("• Función lógica: Es_Par = NOT(D)") print("=" * 60) if __name__ == "__main__": generar_tabla_verdad_pares() explicacion_logica()