- numBits: numero de bits de la expresion booleana. Ejemplo: ABC || BC'D -> numBits es 4
- minTerm: diccionario con minterminos sin agrupar. Ejemplo: {1:'0001', 2:'0010', 3:'0011', 7:'0111', 8:'1000', 15:'1111'}
Salidas
- una lista de listas con los minterminos en decimal. El indice equivale al num de 1's del grupo
Ejemplo: [[], [1, 2, 8], [3], [7], [15]]
Ejemplo
def agruparPorUnos(numBits, minTerSinAgrupar):
minTerAgrupados = list()
for i in range(0, numBits+1): #i es el numero de 1's a buscar.
lista = list() #Cree un diccionario vacio
for key in minTerSinAgrupar: #Itere por el diccionario desagrupado en busqueda de un mintermino con i numero de 1's
if minTerSinAgrupar[key].count('1') == i:
lista.append(key) # Si coincide anadalo al diccionario
minTerAgrupados.append(lista) #Agregue el diccionario a la lista
return minTerAgrupados
Entradas
Salidas
Ejemplo