Palindromo en PseInt

Hola a todos, hoy os voy a explicar como podemos indicar que una cadena es un palíndromo o no.

Un palíndromo es una palabra que se lee igual de izquierda a derecha como de derecha a izquierda. Por ejemplo, la palabra alola si la invertimos es igual que la original.

Os dejo un tutorial sobre como podemos invertir una cadena en PseInt:

https://discoduroderoer.es/como-invertir-una-cadena-en-pseint/

La idea es que si invertimos la cadenaOriginal, guardándola en una variable. Si la cadena invertida es igual a la original es un palíndromo.

Recomiendo que la cadenaOriginal la convirtamos a minúsculas para evitar problemas.

[code]

Proceso testPalindromo

definir cadenaOriginal, cadenaInvertida como cadena;
cadenaInvertida <- «»;

Escribir «Escribe una palabra»;
leer cadenaOriginal;

cadenaOriginal <- Minusculas(cadenaOriginal);

cadenaInvertida <- invertirCadena(cadenaOriginal);

Si cadenaOriginal = cadenaInvertida Entonces
Escribir «La palabra es un palindromo»;
SiNo
Escribir «La palabra no es un palindromo»;
FinSi

FinProceso

SubProceso cadenaInvertida <- invertirCadena ( cadenaOriginal )

definir cadenaInvertida como cadena;
definir i como entero;
cadenaInvertida <- «»;

Para i<-longitud(cadenaOriginal)-1 Hasta 0 Con Paso -1 Hacer
cadenaInvertida <- Concatenar(cadenaInvertida, subcadena(cadenaOriginal, i, i));
FinPara
FinSubProceso

[/code]

Lo podemos hacer como subproceso:

[code]

Proceso testPalindromo

definir cadenaOriginal como cadena;

Escribir «Escribe una palabra»;
leer cadenaOriginal;

Si esPalindromo(cadenaOriginal) Entonces
Escribir «La palabra es un palindromo»;
SiNo
Escribir «La palabra no es un palindromo»;
FinSi

FinProceso

SubProceso cadenaInvertida <- invertirCadena ( cadenaOriginal )

definir cadenaInvertida como cadena;
definir i como entero;
cadenaInvertida <- «»;

Para i<-longitud(cadenaOriginal)-1 Hasta 0 Con Paso -1 Hacer
cadenaInvertida <- Concatenar(cadenaInvertida, subcadena(cadenaOriginal, i, i));
FinPara
FinSubProceso

SubProceso palindromo <- esPalindromo ( cadenaOriginal )

definir palindromo Como Logico;
definir cadenaInvertida como cadena;

cadenaOriginal <- Minusculas(cadenaOriginal);

cadenaInvertida <- invertirCadena(cadenaOriginal);

Si cadenaOriginal = cadenaInvertida Entonces
palindromo <- Verdadero;
SiNo
palindromo <- Falso;
FinSi
FinSubProceso
[/code]

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Warning: Trying to access array offset on value of type null in /home2/discodur/public_html/discoduroderoer/wp-content/themes/disto/single.php on line 539