Algoritmo para invertir cualquier tipo de número usando ciclos en PseInt
Imagina que tienes una alcancía llena de monedas o un número gigante escrito en una tira de papel y vas sacando los dígitos uno por uno desde el final (de derecha a izquierda). Cada vez que sacas el último número, lo colocas al principio de tu nueva pila para construir la cifra invertida. En el mundo de la programación, logramos esta hazaña matemática utilizando un ciclo repetitivo inteligente: el bucle Mientras combinado con operaciones de residuos y divisiones enteras. Vamos a desglosarlo paso a paso, de forma muy amigable y cercana, como si estuviéramos charlando en la pizarra.
Comprendiendo la magia del operador Mod y la división entera
Para no perdernos en las líneas de código, repasemos brevemente cómo la matemática nos permite desarmar y rearmar un número dígito por dígito:
Extracción del último dígito con MOD 10: Si divides cualquier número entre 10, el residuo de esa división o sobrante es siempre exactamente el último dígito de la derecha. Por ejemplo, al hacer la operación con un número, el residuo nos da ese dígito final.
Construcción del número al revés: Multiplicamos el acumulador anterior por 10 para desplazar los dígitos hacia la izquierda y le sumamos el nuevo dígito extraído.
Reducción del número original: Dividimos el número entre 10 usando la función trunc para eliminar los decimales y deshacernos del dígito que ya procesamos, avanzando hacia el siguiente. El ciclo se repite hasta que el número se reduce a cero.
Planteamiento del problema y código en PseInt
Analicemos con atención el enunciado oficial del ejercicio que resolveremos hoy:
Escribir un programa en PseInt que, dado cualquier número entero con varios dígitos, invierta todos los dígitos introducidos y los muestre en pantalla.
A continuación, te comparto el código completo optimizado y listo para copiar, pegar y correr en PseInt:
Algoritmo INVERTIR_NUMEROS
Definir n Como Entero
Definir i, d Como Entero
Escribir "Ingrese un número entero: "
Leer n
i = 0
Mientras n > 0 Hacer
d <- (n MOD 10)
i <- (i * 10) + d
n <- trunc(n / 10)
FinMientras
Escribir "El número invertido es: ", i
FinAlgoritmo
Diagrama de flujo del proceso de inversión
Para visualizar cómo opera paso a paso el ciclo Mientras al desarmar el número original y reconstruirlo al revés, observa el siguiente esquema lógico en diagrama de flujo:
[ Inicio: Invertir Números ]
│
[ Leer número 'n' ]
│
[ Inicializar i = 0 ]
│
▼
┌───────────────────────┐
│ ¿Es el número n > 0? │
└───────────┬───────────┘
(Sí) │ (No)
▼
┌───────────────────────────┐
│ d = n MOD 10 │
│ i = (i * 10) + d │
│ n = trunc(n / 10) │
└─────────────┬─────────────┘
│
└──────────┐
│
▼
[ Mostrar Número Invertido 'i' ]
│
[ FinProceso ]
Bits de Ciencia Oficial
Edwin W.


No hay comentarios: