3Eva_IT2016_T1 Costo de mensaje

3ra Evaluación I Término 2016-2017, Septiembre 13, 2016 /CCPG001 – FIEC
(Editado para tarea, se manteniene el objetivo de aprendizaje)

Tema 1. FIEC03236_textmsg(40 puntos) Una empresa de telecomunicaciones determina el costo para enviar un mensaje como el acumulado de los valores de cada palabra diferenciadas por tamaño y tipo:

  • una palabra corta tiene máximo M caracteres,
  • una palabra larga tiene mas de M caracteres,
  • una palabra especial es un verbo en infinitivo, es decir, palabras terminadas en ‘ar‘, ‘er, ‘ir‘ , sin importar su tamaño.

Implemente las siguientes funciones:

a) cargarDatos(nombreArchivo) que recibe el nombre del archivo que en lineas separadas especifica: el tamaño M, el costo de las palabras cortaslargas e infinitivos. La función abrirá el archivo y retorna un diccionario de la forma:

nombreArchivo='costos.txt'
10
0.2
0.5
0.3

>>> cargarDatos('costos.txt')
retorna:
{'M':10, 'corta':0.2, 'larga':0.5, 'infinitivo':0.3}

b) calcularCostos(datos, nombreArchivo) es una función que determina el costo total de un mensaje guardado en un archivo.
La variable datos corresponde al diccionario de datos generado en el literal a) y un nombre de archivo con el texto de varias lineas correspondiente al mensaje guardado. Las palabras de cada línea se encuentran separadas por espacios y un punto ‘.’ al final del mensaje como único signo de puntuación presente. El punto ‘.’ no deberá ser considerado para determinar el costo de esa última palabra.

c) cambiarMensaje(datos, nombreArchivo1, nombreArchivo2) es una función que baja el costo del mensaje al modificarlo mediante:

  • el recorte de las palabras largas a M-1 caracteres y  colocando ‘#‘ al final.
  • el reemplazo el punto final ‘.’ con la palabra especial ‘END’.

La función recibe el diccionario de datos generado en el literal a) y dos nombres de archivos: nombreArchivo1 que contiene el mensaje y nombreArchivo2 que es el el archivo que se crea (guarda) con el mensaje modificado.

Referencia: Archivo original 3Eva_IT2016.pdf