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=59Para 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