P2.4 · Depurar programas¶
El algoritmo de la burbuja ordena una lista comparando cada elemento con el siguiente e intercambiándolos si están desordenados. Se hace con dos bucles anidados: el padre repite n - 1 pasadas y el hijo compara pares adyacentes, recorriendo cada vez un elemento menos (el mayor ya queda al final).
Ejercicio 2.4.1¶
Implementa la burbuja para ordenar [8, 3, 1, 19, 14] y depúralo:
- Pon un punto de ruptura dentro del bucle hijo.
- Avanza paso a paso y observa cómo cambian
i,jy la lista. - Haz capturas del punto de ruptura y de las variables.
- Copia la salida final por consola.
Variante opcional: detén el bucle cuando una pasada no haga ningún intercambio (usa una variable de control).
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
fun main() {
val a = intArrayOf(8, 3, 1, 19, 14)
val n = a.size
for (i in 0 until n - 1) { // bucle padre: n - 1 pasadas
for (j in 0 until n - 1 - i) { // bucle hijo: un elemento menos cada vez
// ... (resto de la solución bloqueado)