Last active
September 6, 2022 04:19
-
-
Save alexchristianqr/90af50d3caea1c28dd15b809976a5613 to your computer and use it in GitHub Desktop.
Algoritmo en PSeint para ordenar por inserción
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Algoritmo OrdenamientoPorInsercion | |
// Número de posiciones en un arreglo | |
N <- 10 | |
// Declarar variables de tipo arreglo | |
Dimension arregloDesordenado(N) | |
Dimension arregloOrdenado(N) | |
// Ejecutar subprocesos | |
CargarArreglo(arregloDesordenado,arregloOrdenado,N) | |
OrdenarPorInsercion(arregloOrdenado,N) | |
MostrarArreglo(arregloDesordenado,arregloOrdenado,N) | |
FinAlgoritmo | |
SubAlgoritmo CargarArreglo(arregloDesordenado,arregloOrdenado,N) | |
Definir indice Como Entero | |
indice <- 1// Inicializar el indice en 1 | |
// Iterar | |
Para i <- 1 Hasta N Hacer | |
// Obtener un número aleatorio entre 1-20 | |
numeroAzar <- Aleatorio(1,20) | |
// Agregar en cada posición del arreglo el número aleatorio obtenido | |
arregloOrdenado(indice) <- numeroAzar // Lista de números desordenados que serán ordenados | |
arregloDesordenado(indice) <- numeroAzar// Lista temporal de números desordenados | |
// Sumarle 1 al indice | |
indice = indice+1 | |
Fin Para | |
FinSubAlgoritmo | |
SubAlgoritmo OrdenarPorInsercion(arregloOrdenado,N) | |
// Iterar | |
Para i <- 2 Hasta N | |
// Guardar valor clave | |
clave <- arregloOrdenado(i) | |
// Actualizar la variable que tiene una posición anterior | |
anteriorPosicion <- i-1 | |
// Iterar validando | |
Mientras anteriorPosicion > 0 y arregloOrdenado(anteriorPosicion) > clave Hacer | |
// Actualizar el valor de la posición actual con el valor de la posicion anterior | |
arregloOrdenado(anteriorPosicion+1) <- arregloOrdenado(anteriorPosicion) | |
// Actualizar posición | |
anteriorPosicion <- anteriorPosicion-1 | |
Fin Mientras | |
// Actualizar un valor del arreglo por el valor clave | |
arregloOrdenado(anteriorPosicion+1) <- clave | |
Fin Para | |
FinSubAlgoritmo | |
SubAlgoritmo MostrarArreglo(arregloDesordenado,arregloOrdenado,N) | |
// Pintar primer arreglo | |
Escribir "Arreglo desordenado:" | |
Para i <- 1 Hasta N | |
Escribir Sin Saltar arregloDesordenado(i), " " | |
Fin Para | |
Imprimir "" | |
Imprimir "--" | |
// Pintar segundo arreglo | |
Escribir "Arreglo ordenado:" | |
Para i <- 1 Hasta N | |
Escribir Sin Saltar arregloOrdenado(i), " " | |
Fin Para | |
Imprimir "" | |
Imprimir "--" | |
FinSubAlgoritmo |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment