Hacer un programa o algoritmo.
Se desea realizar un algoritmo que realice las siguientes tareas:
- Leer una lista de números enteros
- Visualizar dichos números
- El algoritmo deberá pedir si yo deseo ordenar en sentido decreciente o creciente (burbuja)
- Entrada: 10, 15, 20, 8
- Salida: decreciente 20 15 10 8
Se comprueba si se decidió por la opción 1 (op=1)
Si es Verdadero (Si)
Se decidió por la opción ascendente, Se llama a la subrutina OrdenarAsc, donde se ordena los números ingresados de forma ascendente, se llama a la subrutina MostrarNumeros para visualizar en orden ascendente.
Si es Falso (No)
Se decidió por la opción descendente, Se llama a la subrutina OrdenarDesc, donde se ordena los números ingresados de forma descendente, se llama a la subrutina MostrarNumeros para visualizar en orden descendente.
Fin.
Diagrama de flujo - Ordena creciente o decreciente una lista de numeros
En la Subrutina CapturaNumero, se crea un ciclo For, en cada iteración se captura los números en la variable M y la cual se asigna al arreglo Lista, finaliza el ciclo.
Diagrama de flujo - Subrutina CapturaNumero
En la subrutina OrdenarAsc, se crea un ciclo While el cual finaliza si la variable “n” es igual a la longitud del arreglo menos 1, en cada iteración se inicializa la variable “n” en cero, se crea un ciclo For, en cada iteración se comprueba si el primer elemento del arreglo Lista es menor al segundo elemento (Lista(k)<Lista(k+1))
Si es Verdadero (Si)
Nos indica que esta ordenado ascendentemente, se actualiza la variable “n” agregándole 1.
Si es Falso (No)
Se realiza un intercambio entre los elementos del arreglo Lista.
Finalizan los ciclos.
Diagrama de flujo - Subrutina OrdenarAsc
En la Subrutina OrdenaDesc, se crea un ciclo While el cual finaliza si la variable “n” es igual a la longitud del arreglo menos 1, en cada iteración se inicializa la variable “n” en cero, se crea un ciclo For, en cada iteración se comprueba si el primer elemento del arreglo Lista es mayor al segundo elemento (Lista(k)>Lista(k+1))
Si es Verdadero (Si)
Nos indica que esta ordenado descendentemente, se actualiza la variable “n” agregándole 1.
Si es Falso (No)
Se realiza un intercambio entre los elementos del arreglo Lista.
Finalizan los ciclos.
Diagrama de flujo - Subrutina OrdenaDesc
En la Subrutina MostrarNumeros, se crea un ciclo For, en cada iteración se muestra los elementos del arreglo Lista, finaliza ciclo.
Diagrama de flujo - Subrutina MostrarNumeros
Diagrama Fuente en FreeDFD | |
Código fuente en Java | |
Código fuente en C++ | |
Código fuente en C | |
Código fuente en C# | |
Código fuente en Python | |
Código fuente en Visual Basic |
10 comentarios:
no sirve ni para hacerse una paja...
jajajaja como que no, es perfecto, es justo lo que necesitaba para ordenar los números al azar que generaba el programa XD, muchas gracias
Es un muy buen algoritmo... gracias por subir esta resolución, ayudas a una comunidad de emprendedores :)
hola, alguien puede decirme cual me sirve de guia para hacerlo en fortran90?
lola lo lamento
no entendi nada :/
lo necesito en pseint
Muchas gracias me fue de utilidad para ordenar números al azar.
y en raptor :/
espero mi aporte les ayude : https://codigo-ia.com/
Publicar un comentario