s2Eva2003TIII_T3 función distancia de Hamming

Ejercicio: 2Eva2003TIII_T3 función distancia de Hamming

Se deben comparar las cadenas U y V en los elementos de las mismas posiciones.

Primero se plantea un algoritmo para determinar el número de parejas diferentes que existen dentro de cada cadena.

Si las cadenas difieren en el tamaño, la respuesta será '-1'.

Algoritmo en Python

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IIIT2003_T3 Distancia de Hamming

# INGRESO
U = '20001'
V = '10103'

# PROCEDIMIENTO
n = len(U)
m = len(V)

diferente= -1  # tamaño diferente U,V
if n == m:
    diferente = 0
    i = 0
    while not(i>=n):
        if U[i] != V[i]:
            diferente = diferente +1
        i = i + 1
# SALIDA
print('distancia Hamming: ', diferente)

resultado del algoritmo

distancia Hamming:  3
>>> 

Luego se procede a convertir el algoritmo a una función y hacer la llamada desde un programa, con lo que se cumple lo requerido en cada literal

ALgoritmo en Python usando una función

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IIIT2003_T3 Distancia de Hamming

# literal a. funcion
def dHamming(U,V):
    n = len(U)
    m = len(V)

    diferente = -1
    if n == m:
        diferente = 0
        i = 0
        while not(i>=n):
            if U[i] != V[i]:
                diferente = diferente +1
            i = i + 1
    return(diferente)

# Programa -------------
# INGRESO
U = '20001'
V = '10103'

# PROCEDIMIENTO
diferente = dHamming(U,V)

# SALIDA
print('distancia Hamming: ', diferente)

Tarea: Añadir la lectura de los datos desde un archivo.


Ejercicios resueltos/Ejemplos por año

Ejemplos 1ra Evaluación

1ra Eva 2020-2011

1ra Eva 2010-2001

Ejemplos 2da Evaluación

2da Eva 2020-2011

2da Eva 2010-2001

Ejemplos 3ra Evaluación

3ra Eva 2020-2011

3ra Eva 2010-2001