Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TF Algoritmos 2017 2 Nota 2000
TF Algoritmos 2017 2 Nota 2000
ALGORITMOS (IN220)
Sección: IV41
TRABAJO FINAL:
LIBRERÍA DE FUNCIONES PARA EL MANEJO DE TEXTOS.
Profesor:
GUEVARA PARKER, Hans Christian
Integrantes:
CALDERÓN PÉREZ, Cielo Mihaly (u201612225)
CHOCCE QUISPE, Vanessa Rocío (u201612236)
DALGUERRE LAMAS, Katia Vanessa (u201517115)
HUAMANI ROJAS, Carla Stefany (u201519184)
GUTIÉRREZ HIDALGO, Lessly Dafnner (u201612233)
2017
Resumen:
Una librería de funciones para el manejo de textos es de gran relevancia en los cursos de Lenguaje,
Redacción y Literatura, ya que en ellos se necesita un uso correcto de las palabras, oraciones,
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
expresiones, entre otros. Asimismo, este proyecto va dirigido a empresas encargadas de producir textos,
debido a que en la elaboración de estos ocurren diferentes errores, ya sea de escritura, coherencia, uso
incorrecto de mayúsculas y minúsculas, cohesión, etc.
Por ello, en el presente trabajo se ha elaborado un algoritmo que muestre soluciones a los principales
errores ortográficos como dar a conocer cuando se está aplicando palabras inadecuadas (cambiar estas
palabras por otras), eliminar (oraciones o palabras repetidas), cambiar de mayúscula a minúscula o
viceversa, saber la longitud del texto, insertar palabras nuevas, eliminar espacios en blanco, invertir la
oración para saber si pertenece o no al grupo de palíndromos e incluso para separar las palabras que
estén dentro de un texto u oración. En primer lugar, para la elaboración de esta librería de funciones se ha
identificado y descrito (tipo, rango, valor por defecto, tipo de uso) las variables en estudio. Luego, se buscó
los códigos que se usan para esta librería de funciones en el Visual Basic. Después, se desarrolló el
diagrama de flujo reconociendo cuales son los datos de entrada, proceso, condiciones y los datos de
salida; a partir de ello, se logró obtener el pseudocódigo, Nassi-Shneiderman y finalmente se comprobó en
el Visual Basic.
El principal objetivo de este proyecto es reducir los principales errores ortográficos que pueden cometer
algunas editoriales, periódicos, revistas, empresas publicitarias o hasta medios de comunicación como
noticieros que generalmente van dirigidas a un gran número de personas y tienen gran acogida en la
población. Con este proyecto se busca optimizar el proceso del control de calidad de las empresas que se
encargan de producir textos, por ejemplo, para el caso de las editoriales han lograse busca incrementar
sus ganancias al vender más ejemplares.
Palabras Claves:
Librería de funciones para el manejo de textos.
ÍNDICE
1. Introducción
2. Marco Teórico
3. Análisis y diseño de la solución
3.1. Análisis de datos de entrada, salida e intermedios (nombres y tipos de variables, significado, rango de
valores, valores por defecto)
3.2. Modelo matemático (descripción y explicación de las fórmulas empleadas)
3.3. Algoritmo de solución (representación en diagrama de flujo, pseudocódigo ó Diagrama de Nassi-S)
1. INTRODUCCIÓN:
En nuestra vida cotidiana, el lenguaje es una facultad fundamental del ser humano, el cual nos permite
comunicarnos para expresar ideas, emociones y sentimientos. Esta comunicación puede adoptar múltiples
formas, las más importantes son la comunicación verbal y la comunicación no verbal. Dentro de la
comunicación verbal se encuentra el lenguaje escrito que es representado mediante publicidades,
periódicos, libros, revistas, etc.
En diferentes ocasiones los diversos textos producidos presentan problemas de redacción. Esto es algo
que afecta a las editoriales, las cuales necesitarían tener un programa que se encargue de corregir estos
errores, que abarcan desde problemas en el uso inadecuado de una palabra, conversión de palabras en
mayúsculas o minúsculas, inserción de textos, depuración de espacios en blanco, contabilización de
palabras, y determinar si una palabra, frase o texto es palíndromo o no.
Para resolver dicho problema aplicamos los conceptos, teorías y prácticas básicas aprendidas en nuestro
curso de Algoritmos, el cual se basa en un método que permite resolver un problema aplicando una
secuencia lógica y finita de instrucciones. Dado un estado inicial y datos de entrada, siguiendo los pasos
sucesivos se llega a un estado final y se obtiene una solución (respuesta solicitada).
Mediante dicho aprendizaje, primero hemos identificado el problema de la situación, asimismo tomamos en
cuenta los datos proporcionados y la respuesta que debemos hallar. Luego de esto, hemos procedido a
elaborar los diagramas de flujo, diagrama de Nassi-Shneiderman (NS) y el pseudocódigo hasta tener un
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
correcto resultado de cada uno de ellos. Finalmente, se elaboró el Visual Basic (función del programa
Excel) para corroborar que el proceso elaborado es el correcto y nos muestre lo que pretendemos hallar.
Nuestra principal motivación para realizar el presente proyecto consiste en ayudar a las empresas
encargadas de producción de textos a mejorar su calidad en la elaboración de estos, para así disminuir su
tiempo de corrección de errores, aumentar sus ventas y, por último, obtener mejores resultados y
ganancias.
2. MARCO TEÓRICO:
El proyecto consiste en crear una librería de funciones para el manejo de textos, la cual se basa en
verificar la longitud del texto, invertir el texto y determinar si es palíndromo; es decir, textos cuyas
letras están dispuestas de tal manera que resulta la misma leída de izquierda a derecha que de
derecha a izquierda1, eliminar, reemplazar o insertar un subtexto; de igual manera, convertir a
mayúsculas, minúsculas, nombre propio, separar un texto en palabras, depuración eliminando
espacios en blanco, etc.
Por un lado, la idea que se pretende realizar en este trabajo es dar a conocer una manera más
simplificada de obtener una librería de funciones, la cual consiste en corregir los errores que las
editoriales cometen al momento de producir sus textos. Estos errores pueden ser palabras
inadecuadas, mal uso mayúsculas o minúsculas, espacios en blanco, oraciones que presentan
incoherencia, etc. Además, las editoriales pueden determinar si la palabra o frase pertenece al grupo
de palíndromos. Por otro lado, con este proyecto se busca resolver los problemas anteriormente
mencionados de las editoriales, al momento de producir textos. Por ejemplo, libros, obras, revistas,
panfletos, etc., y de esta manera, lograr optimizar la redacción de sus textos.
Asimismo, al desarrollar el algoritmo con las funciones que buscamos conseguir, comenzaremos por
identificar claramente cuáles serán nuestras variables de entrada, intermedias y de salida. Luego
emplearemos el uso de los diagramas de flujo, pseudocódigo y diagramas de Nassi-Shneiderman.
De igual modo, también se hará uso del Visual Basic, el cual es un lenguaje de programación
dirigido por eventos que permite ampliar la funcionalidad de las aplicaciones Office (Excel,
PowerPoint, Access, etc).
De este modo, podremos armar un algoritmo que sirva para las funciones mencionadas en párrafos
anteriores y, a la vez, solucione los errores que ocurren cuando se elaboran distintos tipos de textos.
1 http://dle.rae.es/srv/search?m=30&w=pal%C3%ADndromo
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
eliminar
existe o no
dentro del
texto de
entrada
salida Salida del String Hasta 65536 Salida
texto sin la caracteres
palabra a
eliminar
Función Reemplazar
entrada Entrada del String Hasta 65536 Entrada
texto caracteres
c Contador Integer 0 a +32767 0 Intermedio
longitudEntrada Longitud del Integer 0 a +32767 0 Intermedio
texto
ingresado
palabra Palabra a String Hasta 65536 Entrada
reemplazar caracteres
longitudPalabra Longitud de Integer 0 a +32767 0 Intermedio
la palabra a
reemplazar
inicio Indica la Integer 0 a +32767 Intermedio
posición de
la letra en el
texto
existe Indica si la Boolean True o False Intermedio
palabra que
se desea
reemplazar
existe o no
dentro del
texto de
entrada
reemplazo Palabra de String Hasta 65536 Intermedio
reemplazo caracteres
salida Salida del String Hasta 65536 Salida
texto con la caracteres
palabra
reemplazada
Función Mayúscula
entrada Entrada del String Hasta 65536 Entrada
texto caracteres
c Contador Integer 0 a +32767 0 Intermedio
longitud Longitud del Integer 0 a +32767 0 Intermedio
texto
ingresado
char Carácter String Hasta 65536 Intermedio
caracteres
salida Salida del String Hasta 65536 Salida
texto en caracteres
mayúscula
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
Función Minúscula
entrada Entrada del String Hasta 65536 Entrada
texto caracteres
c Contador Integer 0 a +32767 0 Intermedio
longitud Longitud del Integer 0 a +32767 0 Intermedio
texto
ingresado
char Carácter String Hasta 65536 Intermedio
caracteres
salida Salida del String Hasta 65536 Salida
texto en caracteres
minúscula
Función Depurar
entrada Entrada del String Hasta 65536 Entrada
texto caracteres
c Contador Integer 0 a +32767 0 Intermedio
longitud Longitud del Integer 0 a +32767 0 Intermedio
texto
ingresado
salida Salida del String Hasta 65536 Salida
texto sin caracteres
espacios
Función Separar
entrada Entrada del String Hasta 65536 Entrada
texto caracteres
c Contador Integer 0 a +32767 0 Intermedio
longitud Longitud del Integer 0 a +32767 0 Intermedio
texto
ingresado
fila Indica la fila Single Intermedio
en donde
debe
aparecer
cada palabra
salida Salida del String Hasta 65536 Salida
texto en caracteres
palabras
separadas
por cada fila
Función Insertar
entrada Entrada del String Hasta 65536 Entrada
texto caracteres
c Contador Integer 0 a +32767 0 Intermedio
longitud Longitud del Integer 0 a +32767 0 Intermedio
texto
ingresado
subtexto Subtexto a String Hasta 65536 Entrada
insertar caracteres
inicio Indica la Integer 0 a +32767 Intermedio
posición en
donde se
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
quiere
insertar el
subtexto
salida Salida del String Hasta 65536 Salida
texto de caracteres
entrada más
el subtexto
ingresado
Función Palíndromo
entrada Entrada del String Hasta 65536 Entrada
texto caracteres
c Contador Integer 0 a +32767 0 Intermedio
longitud Longitud del Integer 0 a +32767 0 Intermedio
texto
ingresado
salida String Hasta 65536 Intermedio
caracteres
inicio Indica la Integer 0 a +32767 Intermedio
posición de
la letra en el
texto
fin Indica la Integer 0 a +32767 Intermedio
posición de
la letra en el
texto
palíndromo Indica si el Boolean True o False Intermedio
texto
ingresado es
palíndromo
o no
Función Nombre propio
entrada Entrada del String Hasta 65536 Entrada
texto caracteres
c Contador Integer 0 a +32767 0 Intermedio
longitud Longitud del Integer 0 a +32767 0 Intermedio
texto
ingresado
char Carácter String Hasta 65536 Intermedio
caracteres
salida Salida del String Hasta 65536 Salida
texto con la caracteres
letra inicial
en
mayúscula
1) Longitud:
INICIO
c=0
entrada
c=c+1
longitud= c
longitud
FIN
2) Invertir:
INICIO
c=0
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
entrada
c=c+1
longitud = c
1
1
2 siguiente i d=0
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
d= d+1
inicio = 1
fin = c
palíndromo = True
3
3
NO
Mid (salida, inicio, 1) <> Mid (salida, fin, 1)
SI
palindromo = False
"Es Palíndroma"
palindromo
FIN = True "No es Palíndroma"
SI NO
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
3) Eliminar:
4) Reemplazar
5) Mayúscula:
c=0
entrada
c=c+1
longitud= c
3 char = Mid(entrada, i, 1) 4
5 Para j = 1 hasta 27
7
7 6 6
SI
Cells (j, 26) =
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
NO 1
5 Siguiente j
1 j = 28
Salir Para
salida
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
FIN
6) Minúscula:
INICIO
c=0
entrada
c=c+1
longitud= c
5
5
Para j = 28 hasta 54
SI
Cells(j, 26) =
NO 1
Siguiente j
j = 55
1
2
Salir Para
2
Siguiente i
salida
FIN
7) Depurar:
8) Separar:
9)
Insertar un subtexto:
INICIO
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
c=0
entrada
c=c+1
longitud= c
longitudEntrada = c
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
NO
i = inicio
SI
salida = salida & “ ” & subtexto & “ ”
Siguiente i
salida
FIN
10)Nombre Propio:
11) Rev
erse
:
3.3.2. Pseud
ocódig
os:
1) L
o
n
g
it
u
d
:
INICIO
c=0
Mientras: Mid (entrada, c + 1, 1) <> ""
c=c+1
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
Fin Mientras
Mostrar: "La longitud del texto es: " & c
FIN ALGORITMO
2) Invertir:
INICIO
c=0
Mientras: (Mid (entrada, c + 1, 1) <> "") hacer
c=c+1
Fin Mientras
longitud = c
Para i = 1 hasta longitud
Si (Mid (entrada, i, 1) <> " ") entonces
salida = salida & Mid (entrada, i, 1)
Fin si
Siguiente i
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
c=0
Mientras: (Mid (salida, c + 1, 1) <> "") hacer
c=c+1
Fin Mientras
inicio = 1
fin = c
palindromo = True
Mientras: (inicio <> fin) hacer
Si (Mid (salida, inicio, 1) <> Mid (salida, fin, 1)) entonces
palindromo = False
Fin Si
inicio = inicio + 1
fin = fin - 1
Fin Mientras
Si (palíndromo = True) entonces
Mostrar: ("Es Palíndroma")
Sino
Mostrar: ("No es Palíndroma")
Fin Si
FIN ALGORITMO
3) Eliminar:
Inicio
Leer: entrada
entrada = Range("F2")
Leer: c
c=0
Mientras (Mid (entrada, c + 1, 1) <> "") hacer
c=c+1
Fin mientras
Leer: longitudEntrada
longitudEntrada = c
Leer: palabra
palabra = InputBox ("Ingrese palabra a Eliminar", "Eliminar Palabra")
c=0
Mientras (Mid (palabra, c + 1, 1) <> "") hacer
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
c=c+1
Fin mientras
Leer: logitudPalabra
longitudPalabra = c
Leer: inicio
Leer: existe
Para i = 1 Hasta longitudEntrada
existe = True
Para j = 0 hasta longitudPalabra - 1
Si (Mid (entrada, i + j, 1) <> Mid (palabra, j + 1, 1)) entonces
existe = False
Fin si
Siguiente j
Si existe = True entonces
inicio = i
Salir For
Fin si
Siguiente i
Leer: salida
Para i = 1 Hasta longitudEntrada
Si i < inicio Or i >= inicio + longitudPalabra entonces
salida = salida & Mid (entrada, i, 1)
Fin si
Siguiente i
Mostrar = salida
Fin
4) Reemplazar:
Inicio
Leer: entrada
entrada = Range("F2")
Leer: c
c=0
Mientras (Mid (entrada, c + 1, 1) <> "") hacer
c=c+1
Fin mientras
Leer: longitudEntrada
longitudEntrada = c
Leer: palabra
palabra = InputBox ("Ingrese palabra a Reemplazar", "Reemplazar Palabra")
c=0
Mientras (Mid (palabra, c + 1, 1) <> "") hacer
c=c+1
Fin mientras
Leer: longitudPalabra
longitudPalabra = c
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
Leer: inicio
Leer: existe
Para i = 1 Hasta longitudEntrada
existe = True
Para j = 0 Hasta longitudPalabra - 1
Si (Mid (entrada, i + j, 1) <> Mid (palabra, j + 1, 1)) Entonces
existe = False
Fin si
Siguiente j
Si existe = True Entonces
inicio = i
Salir for
Fin si
Siguiente i
Leer: reemplazo
reemplazo = InputBox ("Ingrese palabra de reemplazo", "Reemplazar Palabra")
Leer: salida
Para i = 1 Hasta longitudEntrada
Si i = inicio Entonces
salida = salida & reemplazo
Fin si
Si < inicio Or i >= inicio + longitudPalabra Entonces
salida = salida & Mid (entrada, i, 1)
Fin si
Siguiente i
Mostrar = salida
Fin
5) Mayúscula:
Inicio
Leer: entrada, texto, salida, char
c=0
Mientras: Mid (entrada, c + 1, 1) <> ""
c=c+1
Fin Mientras
longitud = c
Para i = 1 hasta longitud
char = Mid(entrada, i, 1)
Para j = 1 hasta 27
Si Cells (j, 26) = char entonces
salida = salida & Cells (j + 27, 26)
salirPara
Fin si
Siguiente j
Si j = 28 entonces
salida = salida & char
Fin Si
Siguiente i
Mostrar: salida
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
6) Minúscula:
Inicio
Leer: entrada, texto, salida
c=0
Mientras: Mid (entrada, c + 1, 1) <> ""
c=c+1
Fin Mientras
longitud = c
Para i = 1 hasta longitud
char = Mid(entrada, i, 1)
Para j = 28 hasta 54
Si Cells(j, 26) = char entonces
salida = salida & Cells(j - 27, 26)
SalirPara
Fin si
Siguiente j
Si j = 55 entonces
salida = salida & char
Fin Si
Siguiente i
Mostrar: salida
Fin del algoritmo
7) Depurar:
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
Inicio
c=0
Leer: entrada
Mientras (Mid(entrada, c + 1, 1) <> "")
c=c+1
Fin mientras
Mostrar: “longitud = c”
Para i = 1 hasta longitud
Si (Mid(entrada, i, 1) <> " ") entonces
Mostrar: “salida = salida & Mid(entrada, i, 1)”
Fin si
Siguiente i
Mostrar: “salida”
Fin Algoritmo
8) Separar:
Inicio
c=0
Leer: entrada
Mientras (Mid(entrada, c + 1, 1) <> "") Hacer
c=c+1
Fin mientras
Mostrar: “longitud = c”
Para i = 1 hasta longitud
Cells(fila, 6) = Cells(fila, 6) & Mid(entrada, i, 1)
Si Mid(entrada, i, 1) = " ") entonces
Mostrar:” fila = fila + 1”
Fin si
Siguiente i
Fin Algoritmo
9) Insertar un subtexto:
Inicio
Leer: texto, subtexto, inicio
c=0
Mientras: Mid (entrada, c + 1, 1) <> ""
c=c+1
Fin Mientras
longitud = c
Para i = 1 hasta longitudEntrada
salida = salida & Mid(entrada, i, 1)
Si i = inicio entonces
salida = salida & “ ” & subtexto & “ ”
Fin Si
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
Siguiente i
Mostrar: salida
Fin del Algoritmo
10)Nombre Propio:
Inicio
c=0
Leer: entrada
Mientras (Mid (entrada, c+1, 1) <> “”) hacer
c = c+1
Fin mientras
longitud = c
char = Mid(entrada,1,1)
Para j = 1 hasta 27
Si Cells (j, 26)=char entonces
char= Cells (j+27,26)
Fin Si
Siguiente j
Mostrar: salida = char & Mid(entrada, 2, longitud-1)
Fin
11) Reverse:
Inicio
Leer: entrada
c=0
Mientras (Mid(entrada, c + 1, 1) <> "") Hacer
c=c+1
Fin Mientras
longitud = c
Para i = (longitud) hasta 1 Paso -1
salida = salida & Mid(entrada, i, 1)
Siguiente i
Mostrar: salida
Fin del Algoritmo
1) Longitud:
Inicio
Cadena: texto
Entero: c, longitud
c=0
c=c+1
longitud = c
Mostrar: longitud
Fin Algoritmo
2) Invertir:
Inicio
Entero: c, longitud
c=0 d=0
inicio = 1
fin = d
palíndromo = True
c=c+1
longitud = c
Para i = 1 hasta longitud
Mid (entrada, i, 1) <> " "
SI NO
Siguiente i
d=d+1
palíndromo = False
inicio = inicio + 1
fin = fin - 1
(palíndromo = True)
SI NO
Mostrar: "Es Palíndroma" Mostrar: "No es Palíndroma"
3) Eliminar:
inicio
existe = False No
Siguiente j
existe = true
inicio = i No
Siguiente i
ingresar: reemplazo
ingresar: salida
Para i = 1 Hasta longitudEntrada
i < inicio Or i >= inicio + longitudPalabra
4) Reemplazar:
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
inicio
existe = False No
Siguiente j
existe = true
inicio = i No
Siguiente i
ingresar: reemplazo
reemplazo = InputBox ("Ingrese palabra de reemplazo", "Reemplazar Palabra")
ingresar: salida
Para i = 1 Hasta longitudEntrada
i = inicio
5) Mayúscula:
Inicio
Entero: c, longitud
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
c=0
c=c+1
longitud = c
char = Mid(entrada, i, 1)
Para j = 1 hasta 27
Salir Para
Siguiente j
j = 28 SI NO
Siguiente i
Mostrar: salida
6) Minúscula:
Inicio
Entero: c, longitud
c=0
c=c+1
longitud = c
char = Mid(entrada, i, 1)
Para j = 28 hasta 54
Salir Para
Siguiente j
j = 55 SI NO
Siguiente i
Mostrar: salida
7) Depurar:
Inicio
Entero: c, longitud
Cadena: entrada, salida
Leer: entrada
c=0
c=c+1
Fin mientras
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
Mostrar: “longitud = c”
Mid(entrada, i, 1) = " ")
si
Mostrar:
“salida = salida &
Mid(entrada, i, 1)”
Para i = 1 hasta longitud
Siguiente i
Mostrar: “salida”
Fin algoritmo
8) Separar:
Inicio
Entero: c, fila, longitud
Cadena: entrada
Leer: entrada
c=0
Siguiente i
Fin algoritmo
9) Insertar un subtexto:
Inicio
c=0
c=c+1
longitudEntrada = c
SI i = inicio NO
Siguiente i
Mostrar: salida
10)Nombre Propio:
11) Reverse:
inicio
Leer: entrada, salida, c
entrada = Range("F2")
c=0
Mientras (Mid(entrada, c + 1, 1) <> "") hacer
c=c+1
Fin mientras
longitud = c
Para i = (longitud) hasta 1 Step -1
salida = salida & Mid(entrada, i, 1)
Siguiente i
Mostrar salida
Fin algoritmo
Dim c As Integer
c=0
Do While (Mid(entrada, c + 1, 1) <> "")
c=c+1
Loop
MsgBox ("La longitud del texto es: " & c)
End Sub
2. Invertir:
Private Sub btnPalindromo_Click()
Dim entrada As String
Dim salida As String
entrada = Range("F2")
Dim c As Integer
c=0
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
3. Eliminar espacios:
Private Sub btnEliminarEspacios_Click()
Dim entrada As String
Dim salida As String
entrada = Range("F2")
Dim c As Integer
c=0
Do While (Mid(entrada, c + 1, 1) <> "")
c=c+1
Loop
longitud = c
For i = 1 To longitud
If (Mid(entrada, i, 1) <> " ") Then
salida = salida & Mid(entrada, i, 1)
End If
Next i
Range("F11") = salida
End Sub
4. Eliminar palabra:
Private Sub btnEliminarPalabra_Click()
Dim entrada As String
entrada = Range("F2")
Dim c As Integer
c=0
Do While (Mid(entrada, c + 1, 1) <> "")
c=c+1
Loop
Dim longitudEntrada As Integer
longitudEntrada = c
Dim palabra As String
palabra = InputBox("Ingrese palabra a Eliminar", "Eliminar Palabra")
c=0
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
5. Reemplazar:
Private Sub btnReemplazaPalabra_Click()
Dim entrada As String
entrada = Range("F2")
Dim c As Integer
c=0
Do While (Mid(entrada, c + 1, 1) <> "")
c=c+1
Loop
Dim longitudEntrada As Integer
longitudEntrada = c
Dim palabra As String
palabra = InputBox("Ingrese palabra a Reemplazar", "Reemplazar Palabra")
c=0
Do While (Mid(palabra, c + 1, 1) <> "")
c=c+1
Loop
Dim longitudPalabra As Integer
longitudPalabra = c
Dim inicio As Integer
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
Range("F11") = salida
End Sub
6. Mayúscula:
Private Sub btnConvertirMayuscula_Click()
Dim entrada As String
Dim salida As String
entrada = Range("F2")
Dim c As Integer
c=0
Do While (Mid(entrada, c + 1, 1) <> "")
c=c+1
Loop
Dim longitud As Integer
longitud = c
For i = 1 To longitud
char = Mid(entrada, i, 1)
For j = 1 To 27
If Cells(j, 26) = char Then
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
If j = 28 Then
salida = salida & char
End If
Next i
Range("F11") = salida
End Sub
7. Minúscula:
Private Sub btnConvertirMinuscula_Click()
Dim entrada As String
Dim salida As String
entrada = Range("F2")
Dim c As Integer
c=0
Do While (Mid(entrada, c + 1, 1) <> "")
c=c+1
Loop
Dim longitud As Integer
longitud = c
Dim char As String
For i = 1 To longitud
char = Mid(entrada, i, 1)
For j = 28 To 54
If Cells(j, 26) = char Then
salida = salida & Cells(j - 27, 26)
Exit For
End If
Next j
If j = 55 Then
salida = salida & char
End If
Next i
Downloaded by Antonella Orbegoso (antonellaorbegoso@gmail.com)
lOMoARcPSD|9780745
Range("F11") = salida
End Sub
8. Separar:
Private Sub btnSepararPalabras_Click()
Range("F3", "F100") = ""
Dim c As Integer
c=0
Do While (Mid(entrada, c + 1, 1) <> "")
c=c+1
Loop
longitud = c
For i = 1 To longitud
Cells(fila, 6) = Cells(fila, 6) & Mid(entrada, i, 1)
If (Mid(entrada, i, 1) = " ") Then
fila = fila + 1
End If
Next i
End Sub
9. Insertar un subtexto:
Private Sub btnInsertarPalabra_Click()
Dim entrada As String
entrada = Range("F2")
Dim c As Integer
c=0
Do While (Mid(entrada, c + 1, 1) <> "")
c=c+1
Loop
For i = 1 To longitudEntrada
If i = inicio Then
salida = salida & " " & subtexto & " "
End If
Next i
Range("F11") = salida
End Sub
entrada = Range("F2")
Dim c As Integer
c=0
Do While (Mid(entrada, c + 1, 1) <> "")
c=c+1
Loop
Dim longitud As Integer
longitud = c
char = Mid(entrada, 1, 1)
For j = 1 To 27
If Cells(j, 26) = char Then
char = Cells(j + 27, 26)
Exit For
End If
Next j
salida = char
For i = 2 To longitud
salida = salida & Mid(entrada, i, 1)
Next i
Range("F11") = salida
End Sub
11. Reverse:
Private Sub btnReverse_Click()
Dim entrada As String
Dim salida As String
entrada = Range("F2")
Dim c As Integer
c=0
Do While (Mid(entrada, c + 1, 1) <> "")
c=c+1
Loop
longitud = c
Range("F11") = salida
End Sub
3.5.1. LONGITUD :
3.5.2. REVERSE:
3.5.8. PALÍNDROMO: