Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vista previa

Bucles dentro de bucles

Esta es la primera página de la lección. Léela y prueba las actividades. El resto está en el curso completo.

35 minutos

Las butacas del cine

En una sala de cine hay filas, y en cada fila hay butacas.

Para nombrarlas todas haces dos cosas. Para cada fila, recorres todas sus butacas.

Es un bucle dentro de otro bucle. Con él también se dibujan figuras y se hacen tablas.

Palabras clave

PalabraQué significaEjemplo
Bucle anidadoUn bucle escrito dentro de otro bucle.for dentro de un for
Bucle de fueraEl bucle grande. Da una vuelta por cada fila.for (int row ...)
Bucle de dentroEl bucle pequeño. Da todas sus vueltas en cada vuelta del de fuera.for (int col ...)
printEscribe sin saltar de línea. La siguiente cosa sale a continuación.System.out.print("*");
printlnEscribe y salta a la línea de abajo.System.out.println();

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Cómo funciona

El bucle de fuera da una vuelta. Entonces el de dentro da todas las suyas.

Después el de fuera da la segunda vuelta, y el de dentro empieza otra vez desde el principio.

Piensa en las agujas de un reloj. Cuando la de los minutos da una vuelta entera, la de las horas avanza un poco.

Pruébalo: un rectángulo de asteriscos

Código: java
public class Main {
    public static void main(String[] args) {
        for (int row = 1; row <= 3; row++) {
            for (int col = 1; col <= 5; col++) {
                System.out.print("*");
            }
            // Al acabar la fila, saltamos a la línea de abajo.
            System.out.println();
        }

        // Cambia el 3 y el 5 por otros números.
    }
}

print no salta de línea

Consejo

Dentro usamos print, para que los asteriscos queden juntos. Al acabar cada fila usamos println() vacío, que solo salta de línea. Si te equivocas, sale una columna.

Ejemplo resuelto: 2 filas y 3 columnas

Fila (fuera)Columna (dentro)Qué escribe
11*
12*
13* y salto de línea
21*
22*
23* y salto de línea

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Cuántas veces se repite

Mira la tabla. Hay 2 filas y 3 columnas. La línea de dentro se hizo 6 veces.

Es una multiplicación: 2 por 3 son 6. Con 3 filas y 5 columnas serían 15 asteriscos.

Cuidado con los números grandes: 100 por 100 son 10000 vueltas.

Pruébalo: las butacas del cine

Código: java
public class Main {
    public static void main(String[] args) {
        for (int row = 1; row <= 2; row++) {
            for (int seat = 1; seat <= 3; seat++) {
                System.out.println("Fila " + row + ", butaca " + seat);
            }
        }

        // Añade una fila más y cuenta cuántas líneas salen.
    }
}

Cuando el de dentro depende del de fuera

Hasta ahora el bucle de dentro daba siempre las mismas vueltas.

Pero puede depender del de fuera. Si escribes col <= row, la fila 1 tiene 1 asterisco, la fila 2 tiene 2, y así.

Sale un triángulo.

Pruébalo: un triángulo

Código: java
public class Main {
    public static void main(String[] args) {
        for (int row = 1; row <= 4; row++) {
            // El número de asteriscos es igual al número de fila.
            for (int col = 1; col <= row; col++) {
                System.out.print("*");
            }
            System.out.println();
        }

        // Cambia col <= row por col <= 4 y mira la figura.
    }
}

Repaso rápido

Inténtalo

Repaso rápido

3 preguntas
Pruébalo: tus respuestas se corrigen aquí y después se olvidan. Inicia sesión si quieres que se guarde tu puntuación y continuar donde lo dejaste.Iniciar sesión para guardar tu puntuación

Tus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.

La lección continúa

4 partes más de esta lección están en el curso completo, con los ejercicios y la comprobación final. Una cuenta te da todo.