Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Programa de palabras agudas

Estas en el tema de Programa de palabras agudas en el foro de Visual Basic clásico en Foros del Web. Saludos que tal. Alguien conoce de VB algún programa sencillo que al introducir una palabra me diga si una palabra es aguda o no, asi ...
  #1 (permalink)  
Antiguo 24/01/2005, 11:14
Avatar de Hildergarn  
Fecha de Ingreso: agosto-2004
Ubicación: Panamá
Mensajes: 442
Antigüedad: 19 años, 8 meses
Puntos: 4
Programa de palabras agudas

Saludos que tal. Alguien conoce de VB algún programa sencillo que al introducir una palabra me diga si una palabra es aguda o no, asi de simple. He tratado de elaborarlo hasta donde se de VB pero no he podido. Cualquier ayuda se le agradece de antemano.
__________________
Visita Viajés y Cosas Así
  #2 (permalink)  
Antiguo 24/01/2005, 12:09
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
No creo que se sencillo, siempre vas a necesitar que la palabra que lleve tilde lo tenga escrito de lo contrario el resultado sería falso. Hay que separar en silbaras (teniendo en cuenta diptongos, triptongos, hiatos, etc) y determinar donde se encuentra el acento y si esta escrito.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 24/01/2005, 17:30
Avatar de Hildergarn  
Fecha de Ingreso: agosto-2004
Ubicación: Panamá
Mensajes: 442
Antigüedad: 19 años, 8 meses
Puntos: 4
jeje ya veo que si. Por lo menos no conocés algun site donde puedan darme al menos tips de esta indole
__________________
Visita Viajés y Cosas Así
  #4 (permalink)  
Antiguo 24/01/2005, 19:17
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Donde puedas encontrarlo no.
Pero puedes hacerlo tu.
Crea una lista de todas las palabras agudas existentes, y luego crea una funcion que compare la palabr que tu quieras con todas las de la lista y si una cincide entonces es aguda.

Saludos
  #5 (permalink)  
Antiguo 25/01/2005, 01:35
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Instru : Eso ya seria mucho mas aburrido je.

Hildergarn : Despues cuando tenga tiempo te voy a pasar un programita que te va a servir.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #6 (permalink)  
Antiguo 25/01/2005, 09:27
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 20 años
Puntos: 0
Seria mejor compara la cadena ingresada con las reglas de las agudas, si termina en n,s o vocal y tiene acento en la ultima vocal (ó,á,é,ú).

En pocas palabras comparar la ultima letra si es n,s o vocal si es n o s ir a la penultima letra y ver si es vocal y si tiene ´ si no simplemente comparar si la ultima tiene ´ si no lo tiene de todas manera hay que comparala para ver si cabe dentro de las reglas. A unque claro va a ver lio en los tiempos si es pasado o presente mejor guiate por el ´ y las reglas.
  #7 (permalink)  
Antiguo 25/01/2005, 12:05
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Brújula: termina en vocal y no tiene acento en la ultima vocal, es grave si no separas en silabas.

Aunque si solo se quiere saber si es aguda o no, funcionaria bien.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 25/01/2005 a las 12:24
  #8 (permalink)  
Antiguo 25/01/2005, 12:27
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Bueno, este codigo debe tener como un lustro pero funciona y supongo que te servira para guiarte:

Código:
Function UltimaSilaba(Data As String) As String
On Error Resume Next
For a = 1 To Len(Data)
  If EsVocal(Mid(Data, Len(Data) - a, 1)) = True And EsVocal(Mid(Data, Len(Data) - a - 1, 1)) = True Then
    If Debil(Mid(Data, Len(Data) - a, 1)) = False And Debil(Mid(Data, Len(Data) - a - 1, 1)) = False Then
      UltimaSilaba = Right(Data, a + 1)
      Exit Function
    End If
  End If
  If EsVocal(Mid(Data, Len(Data) - a, 1)) = False And EsVocal(Mid(Data, Len(Data) - a - 1, 1)) = True Then
    UltimaSilaba = Right(Data, a + 1)
    Exit Function
  End If
Next
End Function

Function UltimaVocal(Data As String) As String
On Error Resume Next
Dim TempA As Integer
For a = 0 To Len(Data) - 1
  If EsVocal(Mid(Data, Len(Data) - a, 1)) = True And EsVocal(Mid(Data, Len(Data) - a + 1, 1)) = False Then
    TempA = a + 1
  End If
Next
UltimaVocal = Right(Data, TempA)
End Function

Function EsVocal(Letra As String) As Boolean
On Error Resume Next
If LCase(Letra) = "a" Then EsVocal = True
If LCase(Letra) = "e" Then EsVocal = True
If LCase(Letra) = "i" Then EsVocal = True
If LCase(Letra) = "o" Then EsVocal = True
If LCase(Letra) = "u" Then EsVocal = True
If LCase(Letra) = "á" Then EsVocal = True
If LCase(Letra) = "é" Then EsVocal = True
If LCase(Letra) = "í" Then EsVocal = True
If LCase(Letra) = "ó" Then EsVocal = True
If LCase(Letra) = "ú" Then EsVocal = True
End Function

Function EsVocalAcentuada(Letra As String) As Boolean
On Error Resume Next
If LCase(Letra) = "á" Then EsVocalAcentuada = True
If LCase(Letra) = "é" Then EsVocalAcentuada = True
If LCase(Letra) = "í" Then EsVocalAcentuada = True
If LCase(Letra) = "ó" Then EsVocalAcentuada = True
If LCase(Letra) = "ú" Then EsVocalAcentuada = True
End Function

Function Debil(Letra As String) As Boolean
On Error Resume Next
If LCase(Letra) = "u" Then Debil = True
If LCase(Letra) = "i" Then Debil = True
If LCase(Letra) = "ú" Then Debil = True
If LCase(Letra) = "í" Then Debil = True
End Function
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 25/01/2005 a las 12:31
  #9 (permalink)  
Antiguo 25/01/2005, 12:55
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 20 años
Puntos: 0
Brújula es esdrujula todas las esdrujulas tienen acento, termina en a pero a no esta acentuada para ser aguda tendría que ser Brujulá tener la sílaba tonica en la antepenultima silaba a lo que mereferia es que por ejemplo pones jalo es presente pero jaló es pasado asi que se debe de indicar el acento para poder comparar correctamente.
  #10 (permalink)  
Antiguo 25/01/2005, 13:54
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Todas las palabras tienen acento, brujula lleva tilde. Si solo queremos sabes si es aguda podemos no separar en silabas y comparar las ultimas letras, sino no.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #11 (permalink)  
Antiguo 25/01/2005, 17:08
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Ahi les va.

Aguda. Se acentua si la silaba tonica esta en la ultima silaba y si termina en N, S o vocal(a, e, i, o, u)
Grave. Se acentua cuando la silaba tonica esta en la penultima silaba y la palabra no termina en N, S o vocal.
ESDRÚJULA(no brujula ): Se acentua cunado la silaba tonica cae en la antepenultima silaba.
y despues sigue la sobre esdrujula que es en la anteantepenultima

Ahora puedes guiarte con esto:
Si la palabra termina en n, s, o vocal y no lleva ningun acento, entonces es grave. Si tiene acento es aguda.
Ahora, si termina en cualquier cosa que no sea n, s o vocal y no lleva acento, entonces es aguda. si lleva acento entonces es grave.

Ahora si el acento lo encuentras en la antepenutima silaba, entonces es esdrujula.
Con eso solo lo pasas a cidog y isto.

Saludos
  #12 (permalink)  
Antiguo 26/01/2005, 09:02
 
Fecha de Ingreso: junio-2004
Mensajes: 26
Antigüedad: 19 años, 11 meses
Puntos: 0
hay palabras agudas con y sin tilde dependiendo de la letra con que terminen, igual con las graves.

azul es aguda, pero como no termina en vocal, n, no lleva tilde

camión es aguda, termina en n, lleva tilde

para las palabras graves, la regla es al contrario:

mármol es grave, termina en l, lleva tilde

casa es grave, termina en vocal, no lleva tilde

pero lo más grave es las cosas que leí en este post (juego de palabras poco agudo)

saludos y suerte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 07:03.