Você está na página 1de 3

Prctica 1 Mtodo de Simpson

- Programacin 2005 2006

Vamos a introducir el uso de JCreator con un primer programa cuyo propsito es calcular el valor de una integral mediante el mtodo numrico conocido como de Simpson. No vamos a explicar el origen del mtodo, slo repasamos brevemente el mtodo resultante: Partimos de una funcin f que queremos integrar en un intervalo [a,b] Para integrarlo elegimos un nmero n par y dividimos el intervalo [a,b] en n subntervalos de la misma longitud [a=x0,x1], [x1,x2], , [xi-1,xn=b] Definimos y0 = f(x0), , yn = f(xn) Entonces se cumple:

El primer sumando contiene la suma de los extremos, el segundo la suma de los trminos de las posiciones impares y el tercero el de las posiciones pares. Veamos como programar el mtodo en Java mediante JCreator: 1 Al entrar en JCreator por primera vez nos hace algunas preguntas, en las que podemos seleccionar las opciones por defecto. Si estamos en un ordenador en el que ya se entr anteriormente (posiblemente algn compaero de otro grupo de prcticas), esto no suceder. 2 A menudo JCreator muestra al inicio un mensaje con Tip of the day. Leer (o no) el consejo y cerrar la ventana. 3 Si aparece algo de cdigo en el editor ste corresponder a la prctica de otro compaero que estuvo anteriormente en el mismo puesto. Elegir File+Close Workspace para cerrarla, contestando Si a la ventana de confirmacin. Es importante hacer esto para no mezclar nuestro cdigo con el del otro compaero. 4 Ahora podemos empezar a trabajar. Creamos un proyecto nuevo proyecto con File+New+Project + Empty Project. Tras pulsar Next ponemos como nombre de proyecto SimpsonIE (si hoy es Jueves) o SimpsonFis (si hoy es Viernes). Es importante el sufijo para no mezclar ni destruir los proyectos de otros compaeros. Pulsamos Finish. 5 Aadimos una nueva clase con File+New+Class. La nueva clase debe tener como nombre Simpson. Podemos adems marcar las casillas public y generate main method para ahorrarnos trabajo. Pulsamos Finish. 6 Ahora podemos escribir el cdigo siguiente:

public class Simpson { public static void main(String[] args) { final int n = 1000; // nmero de divisiones // extremos del intervalo final double a = 0; final double b = Math.PI/2; double h=(b-a)/n; // tamao de cada subintervalo // primer sumando double suma=f(a)+f(b); // segundo sumando: impares for(int i=1; i<n; i+=2) suma+=4*f(a+i*h); // tercer sumando: pares for(int i=2; i<n; i+=2) suma+=2*f(a+i*h); // mostramos el resultado final System.out.println("El resultado es: "+(suma*h/3)); } // funcin a integrar: sen(x) public static double f(double x){ return Math.sin(x); } } 7 Compilamos (F7), si hay errores corregimos y compilamos de nuevo hasta que en la ventana inferior aparezca Process completed. 8 Ejecutamos el programa (F5). Debe mostrarnos un valor prximo a 1, que es la integral entre 0 y pi/2 de sen(x). Si an tenemos tiempo (y ganas) podemos realizar las modificaciones siguientes:

Aadiendo entrada de datos Si queremos cambiar los intervalos de integracin o el nmero de divisiones del intervalo debemos modificar los datos en el programa y recompilar de nuevo. Sera mejor que el programa pidiera estos datos. Estas son algunas indicaciones de cmo aadir entrada de datos en un programa Java. Se debe usar una clase del sistema que existe para este fin, la clase Scanner. Para utilizar esta clase hay que: o Importarla. o Declarar un objeto de tipo Scanner o Inicializarlo o Utilizar los mtodos nextInt, nextDouble del objeto para leer

Un ejemplo:
import java.util.Scanner; // para leer de teclado public class Principal { public static void main(String[] args) { // declaramos un objeto de tipo Scanner Scanner sc = new Scanner(System.in); // ahora ya podemos usar el objeto para leer: // leemos un entero int x = sc.nextInt(); // leemos un nmero real double y = sc.nextDouble(); }

Tratar de modificar la clase Simpson para leer de teclado los valores a,b y n.

Cuando hayamos acabado si queremos llevarnos el cdigo debemos buscar la carpeta SimpsonIE (si hoy es Jueves) o SimpsonFis (si hoy es Viernes) y copiarla completa. El lugar por defecto donde debe encontrarse es: C:\Archivos de programa\Xinox Software\JCreatorV3LE\MyProjects\ Aunque puede variar (si se quiere verificar mirar la opcin Directories dentro de Configure+Options.

Você também pode gostar