En esta ocasión te presento un algoritmo en pseint que permite identificar si un Numero es capicua de 5 cifras en pseint, pero también identifica a los números capicua de 2, 3, 4, 5, 6, 7, 8, hasta n dígitos.
Te dejo el enlace para descargar el código fuente.
Primero antes que nada es necesario entender que es un número capicúa, se dice que un número capicúa es aquel que se puede leer de igual manera de derecha a izquierda que de izquierda a derecha.
Por ejemplos el numero 1 2 3 2 1 como puedes ver es un numero de 5 dígitos pero si lo lees dígito por dígito se puede leer en ambas direcciones de igual manera.
Bien amigos vamos a explicar el funcionamiento de este algoritmo, lo primero que hacemos es ponerle un nombre en mi caso le puse.
Algoritmo Capicuas
Con la palabra reservada definir declaramos las variables en este algoritmo utilizamos las variables a, b, x y n de tipo entero.
Definir a,b,x,n Como Entero
También utilizamos la variable capicúa y la declaramos de tipo real.
Definir capicua Como Carácter
Con la función escribir pedimos un número.
Escribir «Escribe un número»
Este número lo almacenamos en la variable n
leer n
Con la función ConvertirATexto() convertimos el numero en cadena y lo almacenamos en la variable capicúa.
capicua = ConvertirATexto(n)
Con la función Longitud() determinamos el tamaño de la cadena.
b = Longitud(capicua)
Inicializamos la variable en uno.
a = 1
Utilizamos un ciclo mientras y evaluamos si la variable a que empieza valiendo uno es menor a la variable b, la variable b almacena el tamaño de la cadena o del número.
Le asignamos a la variable x el numero cero.
x=0
Mientras a < b Hacer
En el cuerpo del bucle vamos evaluando letra por letra para identificar si la palabra es capicúa.
Esto lo hacemos con la función subcadena() evaluamos si el primer carácter es igual al último, después evaluamos si el segundo es igual al penúltimo y así lo hacemos con todos los caracteres.
si subcadena(capicua,a,a) <> Subcadena(capicua,b,b) Entonces
Si la condición se cumple entonces incrementamos la variable x en uno.
x = x+1
FinSi
a = a + 1
b = b – 1
FinMientras
Evaluamos si el número es menor a 10
si n < 10 Entonces
Si la condición se cumple entonces entonces mostramos un mensaje indicando que se deben escribir como mínimo dos dígitos.
Escribir «Ingresa mínimo dos digestos»
SiNo
Si la condición no se cumple entonces significa que se han ingresado 2 dígitos o más.
Entonces evaluamos si la variable x es igual a cero.
si x == 0 Entonces
Si la condición se cumple mostramos un mensaje en pantalla indicando que el número es capicúa.
Escribir «El numero «,capicua,» es capicua»
SiNo
Si la condición no se cumple entonces mostramos un mensaje indicando que el número no es capicúa.
Escribir «El numero «,capicua,» no es capicua»
FinSi
FinSi
Algoritmo Capicuas Definir a,b,x,n Como Entero Definir capicua Como Caracter Escribir "Escribe un numero" leer n capicua = ConvertirATexto(n) b = Longitud(capicua) a = 1 x = 0 Mientras a < b Hacer si subcadena(capicua,a,a) <> Subcadena(capicua,b,b) Entonces x = x + 1 FinSi a = a + 1 b = b - 1 FinMientras si n < 10 Entonces Escribir "Ingresa minimo dos digistos" SiNo si x == 0 Entonces Escribir "El numero ",capicua," es capicua" SiNo Escribir "El numero ",capicua," no es capicua" FinSi FinSi FinAlgoritmo
Bien amigos esta es la solución de este algoritmo te dejo el código, espero te guste y más que nada te pueda ser de utilidad, un saludo y nos vemos en la próxima entrega.