Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1402
II Semestre 1998
[<=] [home] [<>] [\/] [=>]
CI-1402 Organización de Lenguajes de Programación

Tarea #2 [solución]

Dar formato a los nombres en /etc/passwd

Versión Perl

      En los sistemas Unix, el archivo /etc/passwd contiene los nombres de todas las persona que tienen una cuenta en el computador. Para ahorrar tiempo, es usual que los administradores del sistema escriban los nombres usando letras mayúsculas únicamente, y omitiendo las tildes en vocales y las letras "ñ".

      En esta tarea programada usted escribirá un programa Perl que tome el archivo /etc/passwd y que deje los nombres escritos de manera que sólo la primera letra de cada palabra sea mayúscula. Opcionalmente, su programa debe agregar las tildes a cada nombre o apellido, para lo que debe aplicar las siguientes tres reglas:

      Como no es posible saber de antemano si un apellido, o cualquier otra palabra, es una palabra aguda, grave, o esdrújula, para hacer este programa es necesario usar un diccionario. Para aliviar la carga, el grupo completo puede trabajar coordinadamente para obtener cada parte del diccionario. En la lista de clase que sigue está indicado cuál letra inicial le toca a cada uno de los estudiantes del grupo:

  1. 930262 ARAYA MADRIGAL ILEANA
    950287 AVENDAÑO SOTO JUAN DIEGO
  2. 940452 BARRANTES REYNOLDS RAMIRO
  3. 910498 BERMUDEZ MONTOYA EVELYN
    950425 BLANCO LOPEZ ELVIA MARIA
  4. 940713 CAMPOS GALLO ADRIANA MARIA
  5. 940795 CARVAJAL UGARTE CRISTIAN JOSE
    890943 CHACON MATAMOROS LILLIANA MARIA
  6. 950907 CORTES SANCHEZ HAZEL
  7. 941113 CORTES SOTO DAVID
  8. 941516 GONZALEZ ARGUEDAS JUAN RAMON
  9. 881825 HERNANDEZ A. ROLANDO MANUEL
    931907 HUDSON IBARRA NARCISO
  10. 931988 JIMENEZ MENDEZ ANGIE ISABEL
  11. 911981 LEON RODRIGUEZ ADAN ALBERTO
  12. 941933 LEWIS ALVAREZ WILLIAN MAURICIO
    942010 MADRIGAL FALLAS KATTIA MARIA
  13. 942011 MADRIGAL FALLAS ROSA ISEL
    907337 MARTINEZ POMARES LILLIANA
  14. 942296 MONTERO FLORES MARCELA ANDREA
  15. 942299 MONTERO JIMENEZ JESSICA
  16. 932825 OVIEDO SAUREZ ILEANA MARIA
    922840 PEREZ PEREZ EDGARDO
  17. 952234 PINEDA RODRIGUEZ HILDA YAHARA
  18. 912866 RAMIREZ ALFARO ESTEBAN
    903023 RIOS VALDERDE EDUARDO
  19. 952508 RODRIGUEZ ZAMORA ARNULFO
    943053 ROJAS ARGUEDAS ADRIAN MAURICIO
  20. 952581 ROYO FERRUFINO MARIA GABRIELA
  21. 952605 SAENZ CHACON EDGAR ALBERTO
  22. 863500 SANCHEZ PORRAS JOSE ESTEBAN
  23. 943324 SANCHO BRENES ALICIA
  24. 952809 SOLANO ROJAS BRAULIO JOSE
  25. 943764 VEGA JIMENEZ PATRICIA
  26. 913880 VINDAS VILLALOBOS ROLANDO

      En su programa usted debe generar algorítmicamente el diccionario, usando las tres reglas para poner tildes mencionadas anteriormente. Su programa debe leer el archivo llamado ~ci1402/apeacc.txt, almacenado en la cuenta del curso ci1402@ecci.ucr.ac.cr, que contenga palabras junto con la indicación de si la palabra es aguda ("a."), grave ("g."), o esdrújula("e."). El formato de las palabras contenidas en apeacc.txt, es el siguiente, renglón por renglón:

      Para evitar ambigüedades, incluya en el diccionario sólo palabras que se sí se tilden. Por ejemplo, "María" y "Xinia" son palabras graves, pero sólo "María" se tilda, por lo que "Xinia" no debe aparecer en el diccionario.


Soluciones

[943053] Adrián Mauricio Rojas Arguedas
apeacc.txt http://anubis.ecci.ucr.ac.cr/~ci1402/1998-2/apeacc.txt

Tiempo de entrega: 10 Días
Modalidad: Individual

[mailto:] Adolfo Di Mare <adolfo@di-mare.com>.
Copyright © 1998
Derechos de autor reservados © 1998
[home] <> [/\]