π = 4 - 4/3 + 4/5 - 4/7 + 4/9 - 4/11 + .....
Imprima una tabla que muestre el valor aproximado de pi, calculando un término de esta serie, dos términos, tres, etcétera. ¿Cuántos términos de esta serie tiene que utilizar para obtener 3.14? ¿3.141? ¿3.1415? ¿3.14159?
_______________________________________________________________________________________
Solución:
Este desarrollo en serie de π se obtiene usando la serie de Maclaurin aplicada a arctan(x). La idea original es de Leibniz.
El siguiente código debe guardarse como UsaDeitel_5_20.java
public class UsaDeitel_5_20 { // Abre clase UsaDeitel_5_20 public static void main( String args[]) { // Abre main // Se crea un objeto de la clase UsaDeitel_5_20 Deitel_5_20 miObjeto = new Deitel_5_20(); // Se llama al metodo Imprime miObjeto.Imprime(); } // Cierra main } // Cierra clase UsaDeitel_5_20
El siguiente código debe guardarse como Deitel_5_20.java
//////////////////////////////////////////////////// /* Este programa genera 10 numeros aleatorios / // entre 1 y 10 mediante un ciclo for / ///////////////////////////////////////////////////*/ import java.util.Random; // Es necesario incluir este paquete // de la API de java public class Aleatorios { // Abre clase Aleatorios public static void main(String args[]) { // Abre main Random aleatorios = new Random(); // Se crea un objeto de tipo Random int Tamano = 10; int Escala = 10; // Se generaran 10 numeros aleatorios // entre 1 y 10 // para generar mas, es necesario cambiar // la variable Tamano, // tambien se puede cambiar la Escala // para generar numeros en un rango diferente int numero; for ( int i = 1; i <= Tamano; i++) { // Abre for numero = 1 + aleatorios.nextInt(Escala); // ya que la instruccion aleatorios.nextInt(Escala) // genera numeros entre 0 y 9, se agrega 1 como // factor de desplazamiento para generar numeros // entre 1 y 10 System.out.printf("%3d", numero); System.out.print( (0 == i % 5)? "\n":"" ); // Esta instruccion hace que se de un salto // de linea cada que se imprimen 5 numeros. } } // Cierra main } // Cierra clase Aleatorios
Una ejecución del programa es la siguiente:
Este programa calcula el valor de pi. usando la serie de Maclaurin.
Este programa calcula el valor de pi. usando la serie de Maclaurin. Cuantos terminos quiere de la serie? 15 2.666667 3.466667 2.895238 3.339682 2.976046 3.283738 3.017072 3.252366 3.041840 3.232316 3.058403 3.218403 3.070255 3.208186 3.079153 El valor aproximado de pi con 15 terminos de la serie de Maclaurin es: es: 3.079153
El numero 3.14 aparece cuando se toma el término 128 de la serie, 3.141 aparece 2453, 3.1415 aparece en 144823, 3.14159 aparece por primera vez en 144836.
ese no es el código, te confundiste con uno que lanza números aleatorios
ResponderEliminarTe equivocaste de código.
ResponderEliminarLes comparto mi código para este problema, solo con dos contadores for. Se puede manipular las veces que se repite la serie remplazando el numero dentro de los bucles por uno ingresado por el Usuario.
ResponderEliminarpublic class Division {
public static void main(String[] args) {
double a;
double n1 = 0 ;
double n2 = 0 ;
double numero ;
for (int i = 5; i <=10000; i +=4) {
a = 4.0/i;
n1 += a ;
}
for (int i = 3; i <=10000; i +=4) {
a = 4.0/i;
n2 += a ;
}
numero = 4 + (n1 - n2) ;
System.err.printf("El numero pi es: %f",numero);
}/*Fin del Metodo Void */
}/*Fin de la Clase */