Autor Tema: pseudocodigo para ordenar una lista de números de mayor a menor  (Leído 7313 veces)

karen1213

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Hola espero que me puedan ayudar con este examen, por favor

Analice el siguiente pseudo-código:

Para J = 1 hasta N
    Para K = 0 hasta N – J
         Si A (K) > A (K+1) hacer el intercambio de esos dos elementos

Si N=8 y dada la siguiente lista como entrada al anterior pseudocódigo:

100, 20, 4, 8, 7, 23, 85, 37

Escribe el resultado de la ejecución del pseudocódigo
« Última modificación: 24 de Noviembre 2014, 22:20 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:pseudocodigo para ordenar una lista de números de mayor a menor
« Respuesta #1 en: 24 de Noviembre 2014, 22:22 »
Hola, en este curso tienes explicada la ordenación de números, bucles, etc.: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Para este caso en concreto tenemos:

Comienza el bucle externo con j=1 y el bucle interno con k=0 hasta 7

A(0)=100, A(1)=20, se cumple a(k) > a(k+1) por lo que a(0)=20, A(1)=100


Ahora k=1

A(1)=100, a(2)=4, se cumple a(k) > a(k+1) por lo que a(1) = 4, a(2)=100


Ahora k=2

a(2)=100, a(3)= 8, se cumple a(k) > a(k+1) por lo que a(2)=8, a(3)=100

Ahora k=3 ... a(3)=7, a(4)=100

Ahora k=4 ... a(4)=23, a(5)=100

Ahora k=5 ... a(5)=85, a(6)=100

Ahora k=7 ... a(6)=37, a(7)=100

Fin del bucle interno. Ahora j = 2 y k=0 hasta 6

Ahora k=0, a(0)=20, a(1)=4 por lo que a(0)=4, a(1)=20

Ahora k=1, a(1)=20, a(2)=8 por lo que a(1)=8, a(2)=20

Ahora k=2, a(2)=20, a(3)=7 por lo que a(2)=7, a(3)=20

Ahora k=3, a(3)=20, a(4)=23 NO CUMPLE

Ahora k=4, a(4)=23, a(5)=85 NO CUMPLE

Ahora k=5, a(5)=85, a(6)= 37 por lo que a(5)=37, a(6) = 85

...

Si seguimos ejecutando el algoritmo vemos que:

los números más grandes llegan a la parte derecha de la lista y los más pequeños se quedan en la parte izquierda.

En cada iteración del bucle externo se coloca el elemento más grande a la derecha de la lista

... finalmente obtenemos la lista ordenada de menor a mayor:

El resultado será: 4, 7, 8, 20, 23, 37, 85, 100

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".