• 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
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