Open JPaniagua13 opened 2 years ago
numBits: número de bits de la expresión booleana.
Ejemplo: ABC || BC'D -> numBits es 4
minTer1 y minTer2: las cadenas de minterminos a comparar.
Ejemplo: minTer1-> '1100' & minTer2 -> '1111'
Si difieren en una cifra retorna true. De lo contrario false. (Si difieren en X's retorna false)
Ejemplo: '1101' y '1111' -> True
'1100' y '1111' -> False
'1XX1' y '10X1' -> False
def difierenUnaCifra(numBits, minTer1, minTer2):
cifrasDiferidas = 0
for i in range(0, numBits):
if (minTer1[i] != minTer2[i]) and (minTer1[i] == 'X'): #Pueden distinguir en 1's pero no en X's
return False
elif minTer1[i] != minTer2[i]: # Compare si difieren en una cifra
cifrasDiferidas += 1
else:
continue
if cifrasDiferidas > 1: #Si difieren en mas de una cifra entonces no
return False
else:
return True
Esta función consiste en crear agrupamientos con los emparejamientos entre mintérminos que tengan un solo bit cambiante.