-
Lenguaje
PSeInt (Pseudocódigo)
-
Descripción
Pide una frase y determina si es palíndrome
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Algoritmo ProcesoFrasePalindrome
primero <- 1;
palindrome <- Verdadero;
Escribir Sin Saltar "Ingrese una frase:";
Leer frase;
tamano <- Longitud(frase);
ultimo <- tamano;
Mientras palindrome Y primero < tamano Y ultimo >= 1 Hacer
Mientras primero < tamano Y No esAlfabetico(Subcadena(frase, primero, primero)) Hacer
primero <- primero + 1;
FinMientras
Mientras ultimo >= 1 Y No esAlfabetico(Subcadena(frase, ultimo, ultimo)) Hacer
ultimo <- ultimo - 1;
FinMientras
Si primero < tamano Y ultimo >= 1 Y Minusculas(Subcadena(frase, primero, primero)) = Minusculas(Subcadena(frase, ultimo, ultimo)) Entonces
primero <- primero + 1;
ultimo <- ultimo - 1;
Sino
palindrome <- Falso;
FinSi
FinMientras
Escribir "";
Escribir Sin Saltar "La frase (", frase, ") ";
Si palindrome Entonces
Escribir Sin Saltar "si";
Sino
Escribir Sin Saltar "no";
FinSi
Escribir " es palíndrome.";
FinAlgoritmo
SubProceso alfabetico <- esAlfabetico(c)
abecedario <- "abcdefghijklmnopqrstuvwxyz";
i <- 1;
tamano <- Longitud(abecedario);
c <- Minusculas(c);
Mientras i<=tamano Y c <> Subcadena(abecedario, i, i) Hacer
i <- i + 1;
FinMientras
alfabetico <- i <> tamano + 1;
FinSubProceso
primero <- 1;
palindrome <- Verdadero;
Escribir Sin Saltar "Ingrese una frase:";
Leer frase;
tamano <- Longitud(frase);
ultimo <- tamano;
Mientras palindrome Y primero < tamano Y ultimo >= 1 Hacer
Mientras primero < tamano Y No esAlfabetico(Subcadena(frase, primero, primero)) Hacer
primero <- primero + 1;
FinMientras
Mientras ultimo >= 1 Y No esAlfabetico(Subcadena(frase, ultimo, ultimo)) Hacer
ultimo <- ultimo - 1;
FinMientras
Si primero < tamano Y ultimo >= 1 Y Minusculas(Subcadena(frase, primero, primero)) = Minusculas(Subcadena(frase, ultimo, ultimo)) Entonces
primero <- primero + 1;
ultimo <- ultimo - 1;
Sino
palindrome <- Falso;
FinSi
FinMientras
Escribir "";
Escribir Sin Saltar "La frase (", frase, ") ";
Si palindrome Entonces
Escribir Sin Saltar "si";
Sino
Escribir Sin Saltar "no";
FinSi
Escribir " es palíndrome.";
FinAlgoritmo
SubProceso alfabetico <- esAlfabetico(c)
abecedario <- "abcdefghijklmnopqrstuvwxyz";
i <- 1;
tamano <- Longitud(abecedario);
c <- Minusculas(c);
Mientras i<=tamano Y c <> Subcadena(abecedario, i, i) Hacer
i <- i + 1;
FinMientras
alfabetico <- i <> tamano + 1;
FinSubProceso