Ejemplos de Bucles y Algoritmos en Java

Este material se enfoca en la implementación de diversos bucles y algoritmos fundamentales en Java.

1. Cálculo de la Serie Alternante

Se implementa una función para calcular la suma de la serie: 1 - 1/2 + 1/3 - 1/4 + 1/5 - ... + 1/n.


import java.util.Scanner;

public class SerieAlternante {
   public static void main(String[] args) {
       Scanner entrada = new Scanner(System.in);
       System.out.print("Introduce el valor de n: ");
       int n = entrada.nextInt();
       double sumaSerie = 0;
       int signo = 1; // Para alternar entre sumar y restar

       for (int i = 1; i <= n; i++) {
           sumaSerie += signo * (1.0 / i); // Se usa 1.0 para asegurar cálculo en punto flotante
           signo = -signo; // Cambia el signo para el siguiente término
       }

       System.out.println("La suma de la serie es: " + sumaSerie);
       entrada.close();
   }
}
 

2. Cálculo del Máximo Común Divisor (MCD) - Método de Enumeración

Este método busca el máximo común divisor probando todos los números desde 2 hasta el menor de los dos números de entrada.


import java.util.Scanner;

public class MCDEnumeracion {
   public static void main(String[] args) {
       Scanner entrada = new Scanner(System.in);
       System.out.print("Introduce el primer número: ");
       int num1 = entrada.nextInt();
       System.out.print("Introduce el segundo número: ");
       int num2 = entrada.nextInt();

       int mcd = 1; // El MCD siempre es al menos 1

       // Se itera desde 2 hasta el menor de los dos números
       for (int i = 2; i <= num1 && i <= num2; i++) {
           if (num1 % i == 0 && num2 % i == 0) {
               mcd = i; // Si es divisor de ambos, se actualiza el MCD
           }
       }

       System.out.println("El Máximo Común Divisor (por enumeración) es: " + mcd);
       entrada.close();
   }
}
 

3. Cálculo del Máximo Común Divisor (MCD) - Algoritmo de Euclides

Implementación del eficiente algoritmo de Euclides para encontrar el MCD.


import java.util.Scanner;

public class McdEuclides {
   public static void main(String[] args) {
       Scanner entrada = new Scanner(System.in);
       System.out.print("Introduce el primer número: ");
       int a = entrada.nextInt();
       System.out.print("Introduce el segundo número: ");
       int b = entrada.nextInt();

       int residuo;
       // El algoritmo se repite mientras b no sea cero
       while (b != 0) {
           residuo = a % b; // Calcula el residuo de la división
           a = b;         // 'a' toma el valor de 'b'
           b = residuo;   // 'b' toma el valor del residuo
       }
       // Cuando b es 0, 'a' contiene el MCD
       System.out.println("El Máximo Común Divisor (por Euclides) es: " + a);
       entrada.close();
   }
}
 

Bucle for-each (Iteración Mejorada)

El bucle for-each proporciona una sintaxis más limpia para iterar sobre colecciones y arrays.


import java.util.Scanner;

public class ForEachEjemplo {
   public static void main(String[] args) {
       Scanner entrada = new Scanner(System.in);
       int[] datos = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
       System.out.print("Introduce un número para buscar en el array: ");
       int valorBuscado = entrada.nextInt();
       boolean encontrado = false;

       // Iteración sobre cada elemento del array 'datos'
       for (int elemento : datos) {
           if (valorBuscado == elemento) {
               encontrado = true;
               break; // Termina el bucle si se encuentra el valor
           }
       }

       if (encontrado) {
           System.out.println(valorBuscado + " se encuentra en el array.");
       } else {
           System.out.println(valorBuscado + " no se encuentra en el array.");
       }
       entrada.close();
   }
}
 

Etiquetas: java bucles algoritmos MCD For-each

Publicado el 8-1 14:53