En esta ocasión les comparto un algoritmo que permite ordenar 3 numeros de forma ascendente y descendente, este algoritmo lo desarrollamos y probamos con el simulador Pseint espero les pueda ser de utilidad.
Algoritmo que ordene tres numeros en forma ascendente en pseint
Bien como ya es costumbre vamos a explicar el funcionamiento de este algoritmo, entonces lo primero que hacemos es ponerle un nombre, en mi caso le puse: Algoritmo deTarea.
Algoritmo deTarea
Con la palabra reservada definir, declaramos las variables, en este algoritmo utilizamos las variables n, x, a, b y c, estas variables las declaramos de tipo entero.
Definir n, x, a, b, c como entero
Con la función escribir pedimos que se ingresen los tres números.
Escribir «Escribe 3 números»
Posteriormente utilizamos un ciclo para, en donde inicializamos la variable x con el número 1 y que se repetirá 3 veces hasta que x sea igual a 3.
Para x = 1 Hasta 3 Con Paso 1 Hacer
En el cuerpo del bucle vamos ingresando los números, estos números que serán ingresados por el usuario, los guardamos temporalmente en la variable n.
Leer n
Después evaluamos si la variable x es igual a 1.
Si x == 1 Entonces
Si esta condición se cumple, esto quiere decir que se está ingresando el primer número, por lo tanto lo asignamos en la variable a.
a = n
FinSi
Si la condición no se cumple, entonces evaluamos si x es igual a 2.
Si x == 2 Entonces
Si esta condición se cumple, esto quiere decir que se está ingresando el segundo número.
Pero ya anteriormente habíamos ingresado el primero número en la variable a, entonces evaluamos si el primero número es menor al segundo.
Si a < n Entonces
Si esta condición se cumple entonces almacenamos en b, el número que tenía la variable a.
b = a
Y almacenamos en la variable a el segundo número.
Como puedes ver en la variable a, siempre se va almacenar el número más grande.
a = n
SiNo
Pero si la condición anterior no se cumple, es decir si a no es menor a n, entonces almacenamos el segundo numero en la variable b.
b = n
FinSi
FinSi
Ahora evaluamos si la variable x es igual a 3.
Si x == 3 Entonces
Si la condición se cumple, entonces quiere decir que se está ingresando el tercer número.
Por lo tanto evaluamos si el numero almacenado en la variable a es menor al número almacenado en la variable n.
Si a < n Entonces
Si la condición se cumple, entonces vamos recorriendo los números.
En la variable c almacenamos lo que tenía b.
c = b
En la variable b almacenamos lo que tenía a.
b = a
Y finalmente en la variable a, almacenamos el tercer número.
Con este simple mecanismo siempre en la variable a, se almacenara el número más grande.
a = n
SiNo
Pero si la condición anterior no se cumple, es decir si la variable a, no es menor a la variable n
Entonces evaluamos si el número almacenado en la variable b, es menor al tercer número.
Si b < n Entonces
Si esta condición se cumple, entonces en la variable c ingresamos el número que tenía la variable b.
c = b
Y el tercer número lo ingresamos en la variable b.
Logrando que el primero número se almacene en la variable a, pero que el número que le sigue que sería el número intermedio, siempre quedara almacenado en la variable b.
Y el número más pequeño se almacenara en la variable c.
b = n
SiNo
Si la condición anterior no se cumple, es decir si b no es menor a n, entonces el tercer número lo ingresamos en c.
c = n
FinSi
FinSi
FinSi
FinPara
Al finalizar el ciclo como ya he mencionado en repetidas ocasiones, en la variable a se almacena el número más grande, en la variable b el número que le sigue y en la variable c el número más pequeño.
Yo en este ejemplo estoy imprimiendo las variables de menor a mayor, es decir en orden ascendente.
Escribir c
Escribir b
Escribir a
Si necesitas un algoritmo que imprima los números de forma descendente, pues solo invierte los números.
FinAlgoritmo
Aquí puedes ver el funcionamiento de este algoritmo.
//Desarrollado por Algoritmodetarea Algoritmo deTarea definir n,x,a,b,c como real Escribir "Escribe 3 numeros" Para x = 1 Hasta 3 Con Paso 1 Hacer Leer n Si x == 1 Entonces a = n FinSi Si x == 2 Entonces Si a < n Entonces b = a a = n SiNo b = n FinSi FinSi Si x == 3 Entonces Si a < n Entonces c = b b = a a = n SiNo Si b < n Entonces c = b b = n SiNo c = n FinSi FinSi FinSi FinPara Escribir c Escribir b Escribir a FinAlgoritmo
Bien amigos esta es la solución de este algoritmo, espero les guste les comparto el código fuente, un saludo y nos vemos en la próxima entrega.