Saltar la navegación

Estructura Repetitiva

Concepto

Podría comparar la estructura de repetición en programación con un bucle en la vida real. Los bucles nos permiten realizar una acción varias veces sin tener que repetir manualmente cada paso. En programación, la estructura de repetición es similar: nos permite ejecutar un bloque de código múltiples veces, lo que ahorra tiempo y esfuerzo.

Por ejemplo, imagina que estás escribiendo un programa para imprimir los números del 1 al 5. Sin la estructura de repetición, tendrías que escribir cinco líneas de código, una para imprimir cada número. Pero con un bucle, puedes hacerlo en unas pocas líneas:

Java

for (int i = 1; i <= 5; i++)

{

  System.out.println(i);

}


En este ejemplo, for es una estructura de repetición que ejecuta el bloque de código dentro de las llaves cinco veces. La variable i se utiliza para llevar un seguimiento del número actual que se está imprimiendo, y se incrementa en cada iteración del bucle.

En resumen, la estructura de repetición en programación nos permite ejecutar un bloque de código múltiples veces, lo que nos ayuda a automatizar tareas repetitivas y a escribir programas más eficientes.

Juan Pedro Pérez. Estructura Repetitiva (CC BY-SA)

Lectura facilitada

Podría comparar la estructura de repetición en programación con un bucle en la vida real. Los bucles nos permiten realizar una acción varias veces sin tener que repetir manualmente cada paso. En programación, la estructura de repetición es similar: nos permite ejecutar un bloque de código múltiples veces, lo que ahorra tiempo y esfuerzo.

Por ejemplo, imagina que estás escribiendo un programa para imprimir los números del 1 al 5. Sin la estructura de repetición, tendrías que escribir cinco líneas de código, una para imprimir cada número. Pero con un bucle, puedes hacerlo en unas pocas líneas:

for (int i = 1; i <= 5; i++)

{

  System.out.println(i);

}

En este ejemplo, for es una estructura de repetición que ejecuta el bloque de código dentro de las llaves cinco veces. La variable i se utiliza para llevar un seguimiento del número actual que se está imprimiendo, y se incrementa en cada iteración del bucle.

En resumen, la estructura de repetición en programación nos permite ejecutar un bloque de código múltiples veces, lo que nos ayuda a automatizar tareas repetitivas y a escribir programas más eficientes.

Ejemplos

En Java, existen principalmente tres tipos de estructuras de repetición: el bucle for, el bucle while, y el bucle do-while. Aquí te proporciono un ejemplo de cada uno:

Bucle for

Es útil cuando sabes exactamente cuántas veces quieres que se repita un bloque de código.

  for (int i = 1; i <= 5; i++)

  {
    System.out.println("Iteración " + i);
  }

Este bucle imprimirá "Iteración 1", "Iteración 2", ..., "Iteración 5".

Bucle while

Se utiliza cuando no sabes cuántas veces se repetirá un bloque de código, pero quieres que se ejecute mientras una condición sea verdadera.

  int contador = 1;
  while (contador <= 5)

  {
    System.out.println("Iteración " + contador);
    contador++;
  }

Este bucle imprimirá "Iteración 1", "Iteración 2", ..., "Iteración 5", similar al bucle for.

Bucle do-while

Es similar al bucle while, pero garantiza que el bloque de código se ejecute al menos una vez antes de verificar la condición.

  int contador = 1;
  do {
           System.out.println("Iteración " + contador);
           contador++;
  } while (contador <= 5);

Este bucle también imprimirá "Iteración 1", "Iteración 2", ..., "Iteración 5".

En todos estos ejemplos, el bloque de código dentro del bucle se ejecuta repetidamente hasta que se cumple la condición de finalización del bucle. Cada tipo de bucle tiene sus usos específicos según el problema que estés resolviendo.

Actividades para practicar

Utilizando el lenguaje de programación Java, resuelve los siguientes ejercicios utilizando las estructuras repetitivas:

Tabla de multiplicar: Escribe un programa en Java que solicite al usuario ingresar un número entero y luego muestre la tabla de multiplicar de ese número del 1 al 10

import java.util.Scanner;

public class TablaMultiplicar {

  public static void main(String[] args) {

  Scanner scanner = new Scanner(System.in);

  // Solicitar al usuario ingresar un número entero

  System.out.print("Ingresa un número entero para ver su tabla de multiplicar: ");

  int numero = scanner.nextInt();

  // Mostrar la tabla de multiplicar del número ingresado

  System.out.println("Tabla de multiplicar del " + numero + ":");

  for (int i = 1; i <= 10; i++) {

    System.out.println(numero + " x " + i + " = " + (numero * i)); }

  // Cerrar el scanner

  scanner.close();

  }

}

Suma de números pares hasta un límite: Escribe un programa en Java que solicite al usuario ingresar un número entero positivo y luego calcule la suma de todos los números pares desde 2 hasta ese número ingresado. Utiliza una estructura de control while.

import java.util.Scanner;

public class SumaPares {
  public static void main(String[] args) {
  Scanner scanner = new Scanner(System.in);

  // Solicitar al usuario ingresar un número entero positivo
  System.out.print("Ingresa un número entero positivo: ");
  int limite = scanner.nextInt();

  // Validar que el número ingresado sea positivo
  if (limite <= 0) {
    System.out.println("El número ingresado no es positivo.");
    return;
}

// Calcular la suma de números pares hasta el límite
  int numero = 2;
  int sumaPares = 0;
  while (numero <= limite) {
    sumaPares += numero;
    numero += 2; // Incrementar en 2 para obtener el siguiente número par
  }

  // Mostrar la suma de números pares hasta el límite
  System.out.println("La suma de números pares hasta " + limite + " es: " + sumaPares);

  // Cerrar el scanner
  scanner.close();
  }
}

Adivinar un número: Escribe un programa en Java que genere un número aleatorio entre 1 y 100, y luego solicite al usuario que intente adivinar ese número. El programa debería proporcionar pistas al usuario indicando si el número a adivinar es mayor o menor que el número ingresado por el usuario. El juego debería continuar hasta que el usuario adivine correctamente el número.

import java.util.Random;
import java.util.Scanner;

public class AdivinarNumero {
  public static void main(String[] args) {
  Scanner scanner = new Scanner(System.in);
  Random random = new Random();

  // Generar un número aleatorio entre 1 y 100
  int numeroAdivinar = random.nextInt(100) + 1;

  // Inicializar una variable para almacenar el número ingresado por el usuario
  int numeroUsuario;

  // Juego: Adivinar el número
  System.out.println("¡Adivina el número! Está entre 1 y 100.");
  do {
    // Solicitar al usuario que ingrese un número
    System.out.print("Ingresa tu intento: ");
    numeroUsuario = scanner.nextInt();

  // Comprobar si el número ingresado es igual, mayor o menor que el número a adivinar
  if (numeroUsuario == numeroAdivinar) {
    System.out.println("¡Felicitaciones! ¡Has adivinado el número!");
  } else if (numeroUsuario < numeroAdivinar) {
    System.out.println("El número a adivinar es mayor.");
  } else {
    System.out.println("El número a adivinar es menor.");
  }
  } while (numeroUsuario != numeroAdivinar);

  // Cerrar el scanner
  scanner.close();
  }
}

Lectura facilitada

Utilizando el lenguaje de programación Java, resuelve los siguientes ejercicios utilizando las estructuras repetitivas:

Tabla de multiplicar: Escribe un programa en Java que solicite al usuario ingresar un número entero y luego muestre la tabla de multiplicar de ese número del 1 al 10

import java.util.Scanner;

public class TablaMultiplicar {

  public static void main(String[] args) {

  Scanner scanner = new Scanner(System.in);

  // Solicitar al usuario ingresar un número entero

  System.out.print("Ingresa un número entero para ver su tabla de multiplicar: ");

  int numero = scanner.nextInt();

  // Mostrar la tabla de multiplicar del número ingresado

  System.out.println("Tabla de multiplicar del " + numero + ":");

  for (int i = 1; i <= 10; i++) {

    System.out.println(numero + " x " + i + " = " + (numero * i)); }

  // Cerrar el scanner

  scanner.close();

  }

}

Suma de números pares hasta un límite: Escribe un programa en Java que solicite al usuario ingresar un número entero positivo y luego calcule la suma de todos los números pares desde 2 hasta ese número ingresado. Utiliza una estructura de control while.

import java.util.Scanner;

public class SumaPares {
  public static void main(String[] args) {
  Scanner scanner = new Scanner(System.in);

  // Solicitar al usuario ingresar un número entero positivo
  System.out.print("Ingresa un número entero positivo: ");
  int limite = scanner.nextInt();

  // Validar que el número ingresado sea positivo
  if (limite <= 0) {
    System.out.println("El número ingresado no es positivo.");
    return;
}

// Calcular la suma de números pares hasta el límite
  int numero = 2;
  int sumaPares = 0;
  while (numero <= limite) {
    sumaPares += numero;
    numero += 2; // Incrementar en 2 para obtener el siguiente número par
  }

  // Mostrar la suma de números pares hasta el límite
  System.out.println("La suma de números pares hasta " + limite + " es: " + sumaPares);

  // Cerrar el scanner
  scanner.close();
  }
}

Adivinar un número: Escribe un programa en Java que genere un número aleatorio entre 1 y 100, y luego solicite al usuario que intente adivinar ese número. El programa debería proporcionar pistas al usuario indicando si el número a adivinar es mayor o menor que el número ingresado por el usuario. El juego debería continuar hasta que el usuario adivine correctamente el número.

import java.util.Random;
import java.util.Scanner;

public class AdivinarNumero {
  public static void main(String[] args) {
  Scanner scanner = new Scanner(System.in);
  Random random = new Random();

  // Generar un número aleatorio entre 1 y 100
  int numeroAdivinar = random.nextInt(100) + 1;

  // Inicializar una variable para almacenar el número ingresado por el usuario
  int numeroUsuario;

  // Juego: Adivinar el número
  System.out.println("¡Adivina el número! Está entre 1 y 100.");
  do {
    // Solicitar al usuario que ingrese un número
    System.out.print("Ingresa tu intento: ");
    numeroUsuario = scanner.nextInt();

  // Comprobar si el número ingresado es igual, mayor o menor que el número a adivinar
  if (numeroUsuario == numeroAdivinar) {
    System.out.println("¡Felicitaciones! ¡Has adivinado el número!");
  } else if (numeroUsuario < numeroAdivinar) {
    System.out.println("El número a adivinar es mayor.");
  } else {
    System.out.println("El número a adivinar es menor.");
  }
  } while (numeroUsuario != numeroAdivinar);

  // Cerrar el scanner
  scanner.close();
  }
}

Actividad a entregar

Realiza una infografía en la que expliques las distintas estructuras repetitivas que has visto, indicando un ejemplo de cada una de ellas.

Creado con eXeLearning (Ventana nueva)