s3Eva_IIT2012_T1 Alfabeto radiofónico

Propuesta de solución en Python:

Repase el algoritmo de búsqueda en un vector para continuar el ejercicio.

# 3ra Evaluación II Término 2012
# Tema 1. Alfabeto radiofónico
# Tarea: En la segunda función considerar
# que se pueden dar palabras que no son radiofónica.
#        mejorar la función usando la tabla radiofónico.

def coderadio(palabra,radiofonico):

    # analizar secuencia
    palabra = palabra.upper()
    frase = '' 

    n = len(palabra)
    i = 0
    while not(i>=n):
        letra = palabra[i]
        
        # Buscar letra en radiofonico
        encontre = 0
        donde = -1
        m = len(radiofonico)

        j = 0
        while not(j>=m or encontre==1):
            if (letra == radiofonico[j][0]):
                encontre = 1
                donde = j
                equivale = radiofonico[j][1]
            j=j+1 # busca la siguiente fila

        # completa la frase
        if len(frase)==0:
            espacio = ''
        else:
            espacio = ' '
        frase = frase + espacio + equivale
        
        i=i+1 # cambia letra de palabra

    return(frase)

def decoradio(frase,radiofonico):
    # Solo un ejemplo de otra forma,
    # Tarea, considerar que envian una palabra equivocada

    partes = frase.split(' ')
    n = len(partes)
    palabra = ''

    i = 0
    while not(i>=n):
        palabra = palabra + partes[i][0]
        i=i+1
    return(palabra)

tabla para poder probar la función, luego usar en el programa del tema 2

radiofonico = [['A','Alfa'],   ['B','Bravo'], ['C','Charlie'],
               ['D','Delta'],  ['E','Echo'],  ['F','Foxtrot'],
               ['G','Golf'],   ['H','Hotel'], ['I','India'],
               ['J','Juliet'], ['K','Kilo'],  ['L','Lima'],
               ['M','Mike'],   ['N','November'],['O','Oscar'],
               ['P','Papa'],   ['Q','Quebec'],['R','Romeo'],
               ['S','Sierra'], ['T','Tango'], ['U','Uniform'],
               ['V','Victor'], ['W','Whiskey'],['X','X-ray'],
               ['Y','Yankee'], ['Z','Zulu']]