Cambio de género de palabras
Casi a modo de ejercicio te propongo en esta entrada un script que nos permite modificar el género de una palabra, pasando del masculino al femenino cuando se cumple la regla m(o) -> f(a). Se trata de una aplicación práctica de las funciones de [segmentación de cadenas] que he aplicado como opción de automatización de la composición de textos [en otro proyecto], y que me ha parecido útil explicar específicamente en esta entrada.
Sub CambioGenPalDim Pal As String, Seg As String, PalAlterDim letra As StringDim nL As IntegerPal = "alumno"Letra = Right(Pal,1)nL = Len(Pal)Seg = Left(Pal,(nL-1))MsgBox (Pal & " - " & Letra & Chr(13) & "Número de letras de la palabra " & nL & Chr(13) & "Resto de la palabra " & Seg)If Letra = "o" ThenPalAlter = seg & "a"MsgBox "Palabra en masculino: " & Pal & Chr(13) &_"Palabra en femenino: " & PalAlterElseIf Letra = "a" ThenPalAlter = seg & "o"MsgBox "Palabra en femenino: " & Pal & Chr(13) &_"Palabra en masculino: " & PalAlterEnd IfEnd Sub
El objetivo que se persigue con este script es devolver la palabra en el género opuesto al de la palabra dada. El requisito es que este par de palabras se rijan por la oposición de género m(o) -> f(a).
Para realizar esta transformación hacemos uso de las funciones de segmentación de las cadenas de caracteres [vistas en esta entrada], concretamente de la función Right() y de la función Left() (1), la primera para obtener el carácter final y la segunda para obtener el resto de los caracteres que contiene la palabras (2).
Una vez aplicadas estas funciones, atendiendo a cual sea el genero de la palabra original y condicionando la respuesta a este dato (If Letra = "o" Then), se reconstruye la palabra mediante concatenación (vg. PalAlter = seg & "a"), ofreciendo la alternativa de género a la original.
NOTAS

No hay comentarios:
Publicar un comentario
Comenta esta entrada