Hola amigos como están en esta ocasión realizamos un algoritmo para ordenar 5 numeros de forma ascendente les dejo un video donde explico a detalle cómo hacer un algoritmo.
Haz clic aquí para suscribirte a mi canal
Bien como ya es costumbre en este Blog vamos a explicar el funcionamiento de este algoritmo, entonces lo primero es ponerle un nombre en mi caso lo nombre como:
Algoritmo deTarea
Después declaramos las variables que vamos a utilizar para este algoritmo utilizamos las variables:
Definir n, x, a, b, c, d, e como real
Con la función escribir mandamos un mensaje en pantalla y pedimos 5 números, este mensaje lo escribimos entre comillas dobles porque es una cadena de texto.
Escribir «Escribe 5 números»
Utilizamos un ciclo para para ir controlado los números que se vayan ingresando por teclado, este ciclo se repetirá 5 veces y en cada ciclo pediremos un número.
Para x<-1 Hasta 5 Hacer
El número que se ingrese por teclado lo almacenamos en la variable n con la función leer.
Leer n
Empieza lo bueno voy a explicar a grandes rasgos como funciona este algoritmo ya que te dejare un video donde puedes ver cómo hacemos este algoritmo en diagramas pero es lo mismo.
Evaluamos si la variable x es igual a uno.
Si x == 1 Entonces
Si la condición se cumple entonces asignamos en la variable a el primer número ingresado por teclado.
a = n
FinSi
Cuando x sea igual a dos significa que se está ingresando el segundo número.
Si x == 2 Entonces
Cuando esto suceda entonces evaluamos si el número almacenado en la variable a es menor al número almacenado en la variable n, en pocas palabras estamos analizando si el segundo número es mayor al primero.
Si a < n Entonces
Si esta condición se cumple entonces como puedes ver el primer número se almacena en b y el número más grade se almacena en a.
Esta es la clave de este algoritmo el número más grande siempre se va almacenar en a y los demás números en las variables que le siguen.
b = a
a = n
SiNo
Si la condición no se cumple significa que el primer número es mayor al segundo por lo tanto el segundo número se almacena en b.
b = n
FinSi
FinSi
Cuando x sea igual a 3 significa que se está ingresando el tercer número.
Si x == 3 Entonces
Entonces todo se vuelve a repetir se analiza si la variable a es menor a la variable n
Si a < n Entonces
Si la condición se cumple entonces en a se almacena el número más grande el que le sigue en b y lo que tenía b en la variable c.
c = b
b = a
a = n
SiNo
Si no se cumple la condición significa que la variable a es mayor por lo tanto el siguiente número se almacena en b y el tercero en c.
Si b < n Entonces
c = b
b = n
SiNo
Si la segunda condición no se cumple el tercer número se almacena en c, este sería el numero más chico.
c = n
FinSi
FinSi
FinSi
Si x es igual a 4 entonces significa que se está ingresando el cuarto número.
Si x == 4 Entonces
Si es el cuarto número entonces se evalúa si la variable a es menor al cuarto número.
Si a < n Entonces
Si la condición se cumple el juego empieza una vez más, la variable a almacena el cuarto número, b almacena lo que tenía a, c almacena lo que tenía b, y d almacena lo que tenia c.
d = c
c = b
b = a
a = n
SiNo
Si la condición se cumple entonces evaluamos si b es menor a n.
Si b < n Entonces
Si esta condición se cumple entonces almacenamos b el valor de n, en la variable c lo que tenía b y en la variable d lo que tenía c.
d = c
c = b
b = n
SiNo
Si esta condición no se cumple entonces evaluamos si c es menor a n.
Si c < n Entonces
Si la condición se cumple entonces almacenamos en c el valor de n, lo que tenía c se almacena en d.
d = c
c = n
SiNo
Si la condición no se cumple entonces el cuarto número se almacena en d.
d = n
FinSi
FinSi
FinSi
FinSi
Por ultimo evaluamos si x es igual a 5 esto nos indica que se está almacenando el quinto número.
Si x == 5 Entonces
Después evaluamos si a es menor a n.
Si a < n Entonces
Si la condición se cumple entonces como ya sabes en la variable a se almacena el número más grande y todos los otros números los vamos almacenando en las letras correspondientes.
e = d
d = c
c = b
b = a
a = n
SiNo
Si la condición no se cumple como ya sabemos significa que a es mayor al quinto número entonces evaluamos si b es menor a n.
Si b < n Entonces
Si la condición se cumple en b se almacena el valor de n y los demás números en las variables correspondientes.
e = d
d = c
c = b
b = n
SiNo
Si la condición no se cumple entonces evaluamos si c es menor a n.
Si c < n Entonces
Si esta condición se cumple entonces almacenamos en la variable c el valor de n, y los otros números en las variables correspondientes.
e = d
d = c
c = n
SiNo
Si la condición no se cumple entonces evaluamos si d es menor a n.
Si d < n Entonces
Si la condición se cumple entonces el quinto número lo almacenamos en d y lo que tenía d se almacene en e.
e = d
d = n
SiNo
Si la condición no se cumple entonces el número más chico se almacena en e
e = n
FinSi
FinSi
FinSi
FinSi
FinSi
FinPara
Como puedes ver es un método que me he diseñado en el cual el número más grande siempre se almacena en a y los otros números se van corriendo al lugar correspondiente finalizando siempre con el número más pequeño almacenado en e.
Finalmente mostramos con la función escribir los números en el orden que queramos ascendente o descendente con este método es muy sencillo solo basta con acomodar las variables en el orden de tu elección.
En este caso los acomodamos en orden descendente de mayor a menor.
Escribir a
Escribir b
Escribir c
Escribir d
Escribir e
FinAlgoritmo
Aquí puedes ver el funcionamiento de este algoritmo.
Algoritmo deTarea definir n,x,a,b,c,d,e como real Escribir "Escribe 5 numeros" Para x<-1 Hasta 5 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 Si x == 4 Entonces Si a < n Entonces d = c c = b b = a a = n SiNo Si b < n Entonces d = c c = b b = n SiNo Si c < n Entonces d = c c = n SiNo d = n FinSi FinSi FinSi FinSi Si x == 5 Entonces Si a < n Entonces e = d d = c c = b b = a a = n SiNo Si b < n Entonces e = d d = c c = b b = n SiNo Si c < n Entonces e = d d = c c = n SiNo Si d < n Entonces e = d d = n SiNo e = n FinSi FinSi FinSi FinSi FinSi FinPara Escribir a Escribir b Escribir c Escribir d Escribir e FinAlgoritmo
Bien amigos esta es la solución de este algoritmo te dejo el código fuente, no es un ejercicio fácil para poder diseñarlo me he tardado varias horas pensando en la solución, espero les guste y mas que nada les pueda ser de utilidad un saludo y nos vemos en la próxima entrega.