Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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í:
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”
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").
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.
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.