[ Foro de Pascal ]

separar en silabas

01-Nov-2014 20:36
Invitado (cesar)
1 Respuestas

Buenas. me mandaron hacer un algoritmo en el que tuviera que separar en silabas cada palabra de una frase que introduce el usuario y no tengo ni idea de como deberia hacer . Alguna ayuda que me pudiesen dar?


03-Nov-2014 12:58
Nacho Cabanes (+30)

Separar en sílabas no es trivial.

Una aproximación sencilla puede ser pensar que acaban siempre en vocal. En ese caso, podrías insertar un espacio en blanco tras cada vocal, de modo que "casa" se convertiría en "ca sa", pero fallaría en otros muchos casos. Por ejemplo, "serpiente" se podría convertir en algo como "se rpi e nte", que no tiene mucho sentido.

Aproximaciones más finas podrían ser partir entre dos consonantes, para casos como la "rp" y la "nt" de "serpiente", pero aun así, tendrías que considerar casos especiales como "ch".

Lo mismo ocurre con las vocales: podrías suponer que si hay dos seguidas, son parte de la misma sílaba, como en "ie" de "serpiente", pero si hilas más fino tendrías tendrías que pensar qué pares no dos diptongos sino hiatos, como "oa", en "bo-a".

Lo dicho: es fácil hacer una aproximación, pero es trabajoso hacer algo que siempre funcione bien.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)