• Miércoles 20 de Noviembre de 2024, 12:39

Autor Tema:  Division Sílabica  (Leído 23186 veces)

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Division Sílabica
« en: Domingo 14 de Diciembre de 2003, 21:31 »
0
División Silábica

Las siguientes son las reglas de la división de sílabas en el idioma español

1.   Una sola consonante entre dos vocales se agrupa con la segunda vocal:
 
     mesa>me-sa; casa>ca-sa; agujero>a gu-je-ro

2.   Cuando hay dos consonantes entre vocales, la primera consonante se agrupa con la primera vocal, y la segunda consonante con la segunda vocal:

      coacción> co-ac-ción; gimnasia> gim-na-sia; inmutar>in-mu-tar

3.   Los grupos: pr. pl, f'r, tr, dr, cr, el, gr, gl, rr, 11,br, qu y ch no se pueden separar y se unen a la vocal siguiente:   

      abreviar>a-bre-viar; refresco>re-fres-co; perro> pe-rro> hucha>hu-cha;
      allanar>a-lla-nar

      excepción:  prefijo sub , ejemplo:  subrayar, subtitulo

4.   Cuando hay tres o más consonantes, las dos primeras consonantes se unen a la vocal precedente y la tercera (y cuarta) consonante a la siguiente vocal:

     constar>cons-tar; perspectiva>pers-pec-ti-va; entregar>en-tre-gar;
     construcción>cons-truc-ción; transgresión>trans-gre-sión.

5.   Las vocales pueden ser débiles (i, u) o fuertes (a,e,o). Si dos vocales fuertes (a,e,o) están juntas, se separan:

     Taos> Ta-os; preocupado>pre-o-cu-pa-do; caos>ca-os Leonardo> Le- o-nar-do

Si una vocal débil (i,u) y otra fuerte (a,e,o) están juntas forman un diptongo, es decir, una sílaba y no se separan:
     Manuel> Ma-nuel; puerta>puer-ta> violencia>vio-len-cia Dos vocales débiles (i,u) juntas también forman diptongo, y no se separan:
     ciudad>ciu-dad; cuidado> cui-da-do; Luis> Luis


Escriba un programa que realice la división silábica de acuerdo con las reglas anteriores:

Entrada:

Consistirá en una serie de líneas cada una con una palabra.
La última línea será una línea vacía (i.e. tan sólo '\n")

Salida:

Se debe mostrar la palabra correspondiente, separada con guiones, de acuerdo con las reglas anteriores.

NOTA

PARA EFECTOS DE ESTE PROBLEMA, NO EXISTEN TILDES NI EÑES, SE UTILIZARÁ EL ALFABETO AMERICANO ESTÁNDAR DE LA A-Z Y a-z.

Ejemplo:

Citar
Entrada                                     Salida
mesa                                     me-sa
agujero                                  a-gu-je-ro
letargo                                  le-tar-go
gimnasia                                 gim-na-sia
inmutar                                  in-mu-tar
abreviar                                 a-bre-viar
refresco                                 re-fres-co
perro                                    pe-rro
hucha                                    hu-cha
allanar                                  a-lla-nar
constar                                  cons-tar
perspectiva                              pers-pec-ti-va
entregar                                 en-tre-gar
Taos                                     Ta-os
Preocupado                               Pre-o-cu-pa-do
caos                                     ca-os
Leonardo                                 Le-o-nar-do
Manuel                                   Ma-nuel
Puerta                                   Puer-ta
Violencia                                vio-len-cia
ciudad                                   ciu-dad
cuidado                                  cui-da-do
Luis                                     Luis
subtitulo                                sub-ti-tu-lo

La entrada es a travez de un archivo de texto, la salida debe ser en pantalla.
El proghrama debe respetar mayusculas y minusculas, es decir si la entrada es :
PinguiNo la salida debe ser Pin-gui-No. :devil:
La lista de salida y el de entrada deben ser una palabra por renglon como se ve en el ejemplo.

Eso es todo mucha sutere a todos los participantes.!!!
ANIMO :smartass:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Division Sílabica
« Respuesta #1 en: Lunes 15 de Diciembre de 2003, 20:21 »
0
Hola amigo, interesante reto, sabes... he descubierto una palabra que apuesto que tu programa no sapara en silabas correctamente, y creo es porque te falta agregar las letras TH en los grupos de palabras que no se pueden separar.
   La palabra es JONATHAN, creo que separada es JO-NA-THAN, por lo que segun se ve tu programa o el que realicemos no separaria bien en silabas. Bueno, por ahora solo consulto sobre esto. Saludos  :hola:


P.D: Segun analice el programa hecho sin agregar TH separaria mi nombre asi: JO-NAT-HAN o algo por el estilo  :comp:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Division Sílabica
« Respuesta #2 en: Lunes 15 de Diciembre de 2003, 20:26 »
0
:ph34r: Lo que pasa es que jonathan no es una palabra del lenguaje español. :smartass:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Division Sílabica
« Respuesta #3 en: Lunes 15 de Diciembre de 2003, 20:29 »
0
MIL DISCULPAS AMIGO  :huh:  :whistling:  :smartass:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

dreadlock

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Division Sílabica
« Respuesta #4 en: Miércoles 17 de Diciembre de 2003, 01:50 »
0
Amigo me parece un buen reto, intentare hacerlo, me pondre manos ala obra, espero ser el primero en acabar, :comp: , si no me desilucionare un poco, pero creo tener una solucion a este planteamiento
UN intento de explicar lo inezplicable:D

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Division Sílabica
« Respuesta #5 en: Miércoles 17 de Diciembre de 2003, 05:45 »
0
:comp: ok bienvenido y suerte.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Division Sílabica
« Respuesta #6 en: Jueves 18 de Diciembre de 2003, 13:05 »
0
Hola amigo, quisiera saber, ya que no especificas el nombre que debe tener el archivo de entrada, si ha este lo debemos especificar por linea de comando como haciamos en el reto del protocolo de transferencia HDLC.
   Por ahora es la unica inquietud. Gracias y miles de Saludos  :hola:  :hola:  :smartass:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Division Sílabica
« Respuesta #7 en: Jueves 18 de Diciembre de 2003, 15:02 »
0
cualquier archivo por la linea de entrada, es decir se debe pasar como parametro al ejecutable.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

plaf

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Division Sílabica
« Respuesta #8 en: Viernes 9 de Enero de 2004, 00:17 »
0
waaa eso me huele a miles de ifs dentro de otros ifs y funciones booleanas y muchos || y waaa, pero bueno, cuando este suficientemente aburrido lo intento... :P

y lo q realmente me trajo a responder era q vi recien ayer lo de los gatos con sombrero y ya me lo cerraron :( pero igual queria aportar mi solucion para no sentir q desperdicie el rato...
lo de leer y escribir en los archivos es facil asi q hice solo lo de calcular los gatos y alturas, y si no me equivoco podria ser algo asi:

Código: Text
  1.  
  2. double x; // el numero de niveles de gatos q no trabajan
  3. int trabajan, alto, flojos, altura, n;
  4.  
  5. // aca leo del archivo "alto" y "trabajan"
  6.  
  7. // como trabajan N^x y la altura del gato mayor es (N+1)^x
  8. // N = raiz_x(trabajan); o sea pow(trabajan,1/x);
  9.  
  10. for(x=1.0; (int)(pow(pow(trabajan,1/x)+1,x)+0.01) != alto; x++);
  11. // el +0.01 es para arreglar el error q podria dar
  12.  
  13. N=(int)(pow(trabajan,1/x)+0.01);
  14.  
  15. flojos=0;
  16. altura=trabajan;
  17. for(n=0; n<x; n++)
  18. {
  19.     flojos+=pow(N,n);
  20.     altura+=pow(N,n)*pow(N+1,x-n);
  21. }
  22.  
  23. // y al final imprimo al archivo
  24.  
  25.  

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Division Sílabica
« Respuesta #9 en: Viernes 9 de Enero de 2004, 15:10 »
0
Hola..
jajajaja  :whistling:

bueno se nota que crees programar bastante bien... :lightsabre:
te invito a hacer este reto para que veas lo equivocado que estas... , no se hace como tu dices waaaaaa :devil:
y si progrmas bien deberias ponerte a prueba con los retos que he publicado.. porque ademas te enseñaran bastante...

Respecto al reto de los gatos, si quieres puedo reabrirlo para meter tus comentarios, pero eso si la solucion que tu das no sirve porque no esta completa ...
por más que sepas hacer lo de los archvos si no lo haces no sirve el programa porque no hace lo que pide ... el reto es completo y no a medias :kicking:

Asi que si estas interesado en ese reto o en los otros hasmelo saber,
 :blink: si crees que no puedes hacer los retos seria bueno que tambien me lo hicieras saber, siempre es importante saber 'porque?'

Bueno..,. nuevamente te invito a participar... tal vez suene un poco ofensivo pero es loque le pasa a la mayoria de los que ven estos retos:
---les da miedo :scream:
si te da miedo, trata de vencerlo y participa de verdad,
o sino te da miedo...
pues de muestra lo que sabes :P :lightsabre:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

plaf

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Division Sílabica
« Respuesta #10 en: Viernes 9 de Enero de 2004, 18:52 »
0
a ver a ver, me estas retando???
ah bueno es un foro de retos...

pa q no te quejes ya hice el de los gatos entero :P

y este otro, pos voy a ver q tal me anda, lo voy a empezar a intentar, de ahi te cuento como me va
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Division Sílabica
« Respuesta #11 en: Viernes 9 de Enero de 2004, 20:25 »
0
Correcto, esta algo incompleto en cuanto a los mensagesal usuario pero esta bien,
ahora te invito a participar de este reto antes de que se cierre, y antes de que publique explicaciones y soluciones,
ANIMO.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

plaf

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Division Sílabica
« Respuesta #12 en: Viernes 9 de Enero de 2004, 20:58 »
0
pues yo diria q SI es con varios ifs dentro de otros ifs y miles de || y funciones q retornan 1s y 0s (aunque una tuvo q expandirse por los guiones), o bueno, quizas no SEA asi, pero de q se puede hacer asi, se puede. y si no me crees, pues te dejo la prueba :P

;)

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Division Sílabica
« Respuesta #13 en: Viernes 9 de Enero de 2004, 21:16 »
0
bien..
siempre hay mas de una manera de hacer las cosas.
lo que dje arriba era para forzarte a partyicipar  :devil:
bienvenido. :smartass:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Division Sílabica
« Respuesta #14 en: Sábado 10 de Enero de 2004, 00:27 »
0
Muuuuuuuuuuuy bueno Plaf, yo aun estoy tratando de terminarlo, dime, eres una especie de robot o algo por el estilo??. Saludos :hola:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Division Sílabica
« Respuesta #15 en: Sábado 10 de Enero de 2004, 01:33 »
0
Encontre una especie de BUG en tu programa. Intenta de poner la palabra: buRro, eso es separado asi: buR-ro, y deberia ser asi: bu-Rro, juank dijo que debe poder separa cualquier palabra entreverando mayuscula y minuscula, rebiza tu codigo e intenta arreglarlo. Saludos y la verdad me dejaste sorprendido! :hola:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

plaf

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Division Sílabica
« Respuesta #16 en: Sábado 10 de Enero de 2004, 03:15 »
0
bue, grax por los elogios :) (y aqui entre nos, soy un bot :o (y mas entre nos aun, fui creado por otro bot :o (y muy muy entre nos, esta es la matrix :ph34r: )))

y el bug es xq se me paso la minusculeacion en el juntas(), y a parte sobra reconocer el guion (lo puse al principio y despues agregue el caso generico x si aparecian no-letras) y si se minusculea al principio del tipo() me ahorro un || :P

bueno dejo la actualizacion

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Division Sílabica
« Respuesta #17 en: Domingo 11 de Enero de 2004, 03:03 »
0
Saludos plaf!
felicitaciones!!! :smartass:

Vas muy bien, tan solo te faltan unas condiciones en palabras como por ejemplo:

'sublime'

y algunas otras que tendre que revisar con tiempo!!!

Te cuento que estoy asombrado pues el codigo que traes es de buena calidad , de hecho es mas compacto que el mio, aunque falta estructurarlo un poco, y nuevamente mejorar  la interaccion con el usuario.

Por el momento vas bien... te falta poco.

Jonathan!!! com vas tu? :kicking:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

dreadlock

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Division Sílabica
« Respuesta #18 en: Martes 13 de Enero de 2004, 05:41 »
0
Tengo unas dudas

Como veo que ya hay otros dos participantes en este, me supongo que debe haber un legitimo mejor programador jejejeje :D que se supondria es quien lo haga primero, pero pense en mi cabesota estan algunas ideas, que no eh tenido la oportunidad de llevar a cabo por problemas con la maquina, pero ahora esta jalando al 100% y las llevare a cabo. pero como ya escribi tengo dudas.

1.- El ganador es quien acabe primero el programa, o quien lo haga mas bonito y funcional¿? :D, esto porque pensaba que no es lo mismo hacer algo en blanco y negro, que en modo grafico/ o en modo texto con colores asi bonito. aunque lo importante es que funcione verdad, en fin no redundare.

2.- Me imagino que como en todo buen concurso debemos hacer solo lo que el cliente pide en este caso el buen JuanK, eso decia mi maestro :D.

3.- Es que pense que ahhh que va lo hare lo mejor que pueda, ahora si desde ahora empieza la cuenta regresiba, en una semana (el 19 de enero tendre alkgunos resultados).

4.- no hay 4, solo les deseo suerte alos demas concurantes

Noticia de ultima hora(como no lei la segunda hoja), me acobo de enterar que un concursante casi acaba, me tendre que apurar, no leere los codigos del compañero, para poner a trabajar mas a mi cerebro.
UN intento de explicar lo inezplicable:D

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Division Sílabica
« Respuesta #19 en: Martes 13 de Enero de 2004, 14:53 »
0
En efecto...

1- Ganan todos los que acaben el programa en un tiempo establecido y que por supuesto este programa cumpla como minimo todas los requisitos del reto y como minimo todas las recomendaciones de formato.
2-Aunque hayan varios ganadores se destacaran las mejores cosas de cada uno, y se le haran a cada uno las observaciones necerias.
3-Aunque este reto esta programado para finalizar en una semana, realmente siempre los dejo abiertos unas semanas más con el fin de esperar a todas las personas que esten participando, la finalidad de los retos no es realmente buscar un ganador, sino buscar quienes son capaces de hacerlos.  :smartass:

4-Como recomendacion para todos los participantes, no es bueno publicar la solucion de un reto para evitar que gente inescrupulosa pueda copiarlo, lo mejor es que publiquen sus post pero que el archivo me lo envien por correo electronico, al finalizar el reto se publicaran todos los fuentes.  B)

Bien, eres bienvanido dreadlock
suerte y exitos en este reto!!!  :lightsabre:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

plaf

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Division Sílabica
« Respuesta #20 en: Martes 13 de Enero de 2004, 21:51 »
0
- como se supone q puedo reconocer cuando sub es prefijo y cuando no? sin tener q adjuntar un diccionario para buscarlo y conjugarlo si es verbo, etc... porque subl* no siempre se separa en sub-l*.. vi el diccionario y estan sub-lin-gual y sub-lu-nar q sirven de ejemplo, asi q hay q decidirse entre perder unas u otras... y obviamente yo elijo la opcion en la q no tengo q cambiarle nada al codigo :P

- con la interaccion con el usuario te refieres a mensajes de error y cosas asi? bueno, le agregue un par de printf()s...

- estructuracion, pos no sabo como estructurarlo mas gonito, le saque las variables globales y le puse parametros a las funciones... no soy muy experto en programar lindo, llevo menos de un año programando...

- ganador? :o y q se gana? estrellitas en el perfil? :P

- mandar el codigo al mail es mucho esfuerzo, prefiero seguir corrompiendo al publico :devil:  :devil:  :devil: ademas q tiene de malo, si lo unico q se gana con estos retos es autosatisfaccion, y q tiene de satisfactorio copiarle el codigo a otro?
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

dreadlock

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Division Sílabica
« Respuesta #21 en: Miércoles 14 de Enero de 2004, 19:33 »
0
Yo tambien tengo preguntas:, esque empece haciendo el analizis al reves, creo que ya encontre la solucion mas fiable.

1.-  Se puede convertir el texto en mayusculas o minusculas para facilitar su analisiz¿?
UN intento de explicar lo inezplicable:D

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Division Sílabica
« Respuesta #22 en: Domingo 18 de Enero de 2004, 00:03 »
0
no, lee nuevamente el enunciado, el programa debe respetar mayusculas y minusculas.
plaf: tienes razon en cuanto tenga tiempo lo revisare.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

shephiroth

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Re: Division Sílabica
« Respuesta #23 en: Lunes 19 de Enero de 2004, 09:09 »
0
Buenas. Soy nuevo y recien comenzaré con este reto. El de los gatos tambien me ha impactado, y me pondré con él despues puesto que ya esta cerrado y este aun esta abierto.

Y para empezar aportaré mi granito de arena sobre dos cuestiones que se han empleado:

1) Convertir todo a minusculas: El trabajo te pide que al final visualices la palabra separada tal como la escribieron, pero internamente puedes transformar la cadena recibida a minusculas, trabajar con ella, y a la hora de la separación usar la primera.

2) El tema de Subl...para saber si hay que separar estas has de ir a las siguientes consonantes. Me explico "sublingual", para saber si hay que separarla te tienes que ir a las siguientes consotantes, en este caso "ng" y ver como las separas. En ese caso tienes que cortar las silabas, es decir, quedaría "Sublin-gual". Ahora nos fijamos como queda lo que seríala segunda silaba. Si termina en consonante la "bl" se separa, mientras que si termina en vocal permanecerán unidas. Demomento todas las q he probado siguiendo el mecanismo explicado funciona. Eso si, comprobado de cabeza, que aun no empecé a programarlo xDD

SALUDOS.

EDITADO:
Corrijo, si termina en vocal devil "e-i" no se rompe, si termina en vocal fuerte se rompe.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Division Sílabica
« Respuesta #24 en: Sábado 24 de Enero de 2004, 15:45 »
0
Saludos..
bueno he estado muy ocupado con el trabajo en mi oficina y hace ya rato que no me asomaba por aqui,
en fin ahora mismo revisare la nueva solucion  que envio plaf y les anuncio que el reto se cerrara el sabado 31 de enero,
asi que animo a todos los participantes para que acaben el  reto.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io