Está en la página 1de 4

CENTRO DE EDUCACIÓN TÉCNICO

PRODUCTIVA MÓDULO: PROGRAMACIÓN


CETPRO
“JESÚS NAZARENO CAUTIVO”

FUNCIONES DE CADENAS DE TEXTO


Desde Octubre de 2012, PseInt incluye ciertas funciones de manejo de cadenas de texto que es habitual encontrar en casi
cualquier lenguaje de programación.
Las dos más sencillas son las que permiten convertir un texto a mayúsculas y a minúsculas:

Algoritmo Cadenas_1
Escribir 'Dime tu nombre: '
Leer nombre
Escribir 'En mayúsculas quedaría: '
Escribir Mayusculas(nombre)
Escribir 'En minúsculas quedaría: '
Escribir Minusculas(nombre)
FinAlgoritmo

Para resolver problemas reales de computación, hay otras dos funciones que dan mucho más juego: una nos dicen la longitud
de una cadena y otra permite extraer una subcadena, desde cierta posición inicial hasta cierta posición final:

Algoritmo Cadenas_2
Escribir 'Dime tu nombre: '
Leer texto
Escribir 'Su longitud es: '
Escribir Longitud(texto)
Escribir 'Su primera letra es: '
Escribir Subcadena(texto,1,1)
FinAlgoritmo

Como ejemplo de su uso real, es posible mostrar un texto incluyendo un espacio en blanco adicional entre cada letra y la
siguiente, si se crea un programa como éste:

Algoritmo Cadenas_3
Escribir 'Dime tu nombre: '
Leer texto
Escribir 'Con espacios adicionales, quedaría: '
Para x <- 1 Hasta Longitud(texto) Hacer
Escribir Sin Saltar Subcadena(texto,x, x)
Escribir Sin Saltar ' '
FinPara
Escribir ' '
FinAlgoritmo

(Si usamos la configuración normal de PseInt, las posiciones dentro de la cadena se empezarán a contar desde uno; ya
sabemos, como vimos en el apartado sobre "Matrices", que en muchos otros lenguajes de programación se empieza a contar
desde cero; PseInt también se puede configurar para trabajar así).

También es posible "concatenar" dos cadenas, es decir, formar una nueva cadena a partir de la unión de esas dos. Por
ejemplo, el resultado de Concatenar("1a", "2b") sería la cadena de texto "1a2b". Así, el ejemplo del rectángulo de asteriscos se
podría hacer, de forma alternativa, creando primero una cadena que fuera la fila de asteriscos y luego mostrándola varias
veces, así:

// Rectángulo formado por asteriscos


// Versión concatenando cadenas.
// No funciona con versiones de PseInt de antes de Octubre de 2012

Algoritmo Rectangulo
Escribir Sin Saltar 'Introduce el ancho: '
Leer ancho
DOCENTE: LIC. JOSEPH SANDOVAL CORONADO 1
CENTRO DE EDUCACIÓN TÉCNICO
PRODUCTIVA MÓDULO: PROGRAMACIÓN
CETPRO
“JESÚS NAZARENO CAUTIVO”

Escribir Sin Saltar 'Introduce el alto: '


Leer alto
// Creamos una final formada por asteriscos
filaDeAsteriscos <- ' '
Para columna <- 1 Hasta ancho Hacer
filaDeAsteriscos <- Concatenar( filaDeAsteriscos, '*' )
FinPara
// Y la mostramos varias veces
Para fila<-1 Hasta alto Hacer
Escribir filaDeAsteriscos
FinPara
FinAlgoritmo

Este ejemplo muestra como utilizar las funciones para manejo de cadenas de caracteres. Requiere que el perfil de lenguaje
habilite estas funciones. Si al intentar ejecutar obtiene errores en las funciones, revise su configuración en el item "Opciones
del lenguaje" del menú "Configurar".

Algoritmo Ejemplo_Cadenas
// El usuario ingresa una frase, vamos a contar cuántas vocales tiene.
Escribir 'Ingrese una frase: '
Leer frase
// Pasamos toda la frase a minúsculas para no tener que preguntar 2 veces por cada vocal.
frase<-Minusculas(frase)
// Lista de letras que vamos a buscar.
vocales<-'aeiouáéíóúü'
cantvocales<-0
// Comparar todas las letras de frase con las de vocales y contar coincidencias.
Para i<-1 hasta Longitud(frase) Hacer
Para j<-1 hasta Longitud(vocales) Hacer
Si Subcadena(frase,i,i)=Subcadena(vocales,j,j) Entonces
cantVocales<-cantVocales+1
FinSi
FinPara
FinPara
Escribir 'La frase contiene ',cantVocales, ' vocales. '
FinAlgoritmo

EJERCICIOS PROPUESTOS

1. Crea un programa que pida su nombre al usuario y lo escriba al revés (de la última letra a la primera: a partir de "Nacho"
escribiría "ohcaN").
2. Crea un programa que pida su nombre al usuario y lo escriba alternando letras mayúsculas y minúsculas (por ejemplo,
"nAcho" se mostraría como "NaChO".
3. Crea un programa que pida su nombre al usuario y diga cuántas vocales contiene (por ejemplo, "aurora" tiene 4 vocales).
4. Crea un programa que pida su nombre al usuario y diga qué vocales contiene (en orden y sin repetir: por ejemplo, para
"Aurora" deberá responder "aou").
5. Crea un programa que pida una frase al usuario y diga cuántas palabras contiene (pista: puedes contar los espacios,
prestando atención en que no estén repetidos).
6. Crea un programa que pida al usuario su nombre y apellidos y los muestre con las mayúsculas y minúsculas correctas
(aparecerán en mayúsculas la primera letra y la que haya tras cada espacio; las demás aparecerán en minúsculas. Por
ejemplo, si introduce "nAcho cabaNes ", es escribirá "Nacho Cabanes").

DOCENTE: LIC. JOSEPH SANDOVAL CORONADO 2


CENTRO DE EDUCACIÓN TÉCNICO
PRODUCTIVA MÓDULO: PROGRAMACIÓN
CETPRO
“JESÚS NAZARENO CAUTIVO”

SOLUCIONARIO

1.
Algoritmo NOMBRE_AL_REVÉS
palabra1<-''
palabra2<-''
K<-0
Escribir Sin Saltar 'INGRESE NOMBRE:'
Leer palabra1
C<-Longitud(palabra1)
Escribir 'Tamaño: ',C
Para I<-1 Hasta C Con Paso 1 Hacer
palabra2<-palabra2+SubCadena(palabra1,C-K,C-K)
K<-K+1
Fin Para
Escribir Sin Saltar 'Su nombre al revés es: ', palabra2
Escribir ''
FinAlgoritmo

2.
Algoritmo NOMBRE_MAYUS_MINUS
Escribir Sin Saltar "Digita un nombre:"
Leer nom
Para j<-1 Hasta longitud(nom) Hacer
P<-subcadena(nom,j,j)
Si j%2=1 Entonces
Escribir Sin Saltar Mayusculas(P)
Sino
Escribir Sin Saltar Minusculas(P)
Fin Si
Fin Para
Escribir ''
FinAlgoritmo

3.
Algoritmo CONTAR_VOCALES
Escribir Sin Saltar "INGRESE NOMBRE:"
Leer nom
// Pasamos todo el nombre a minúsculas para no tener que preguntar 2 veces por cada vocal.
nom<-Minusculas(nom)
// Lista de letras que vamos a buscar.
Vocales<-"aeiouáéíóúü"
cantvocales<-0
// Comparar todas las letras del nombre con las de vocales y contar coincidencias.
Para i<-1 hasta Longitud(nom) Hacer
Para j<-1 hasta Longitud(vocales) Hacer
Si Subcadena(nom,i,i)=Subcadena(vocales,j,j) Entonces
cantVocales<-cantVocales+1
FinSi
FinPara
FinPara
Escribir "El nombre contiene ",cantVocales," vocales"
FinAlgoritmo

4.

DOCENTE: LIC. JOSEPH SANDOVAL CORONADO 3


CENTRO DE EDUCACIÓN TÉCNICO
PRODUCTIVA MÓDULO: PROGRAMACIÓN
CETPRO
“JESÚS NAZARENO CAUTIVO”

5.
Algoritmo CONTAR_PALABRAS_FRASE
Escribir 'INGRESE UNA FRASE:'
Leer F
F<-Minusculas(F)
CF<-0
Para I<-1 Hasta Longitud(F) Hacer
Si SubCadena(F,I,I)=' ' Entonces
CF<-CF+1
Fin Si
Fin Para
Escribir 'SU FRASE TIENE: ' ,CF+1 " PALABRA(S)"
FinAlgoritmo

6.

DOCENTE: LIC. JOSEPH SANDOVAL CORONADO 4

También podría gustarte