Ordenar 3 numeros de forma ascendente en pseint

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.

Ordenar 3 numeros de forma ascendente en pseint
Ordenar 3 numeros de forma ascendente en pseint
//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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *