APPLET QUE CALCULA EL NÚMERO PI

 

 

 

 

Código de la pagina web:

<HTML>

<HEAD>

<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">

</HEAD>

<BODY>

            <applet           code="calculopi.class" name=calculopi width=500           height=200 VIEWASTEXT>

            </applet>

</BODY>

</HTML>

 

Código del applet en java, fichero calculopi.java

 

import java.awt.*;

import java.applet.*;

import java.awt.event.*;

import java.math.*;

 

public class calculopi extends Applet implements ActionListener

{

           

            Button calcular;

            Label pi;

            Label texto;

            Label numerodigitos;

            double contador, maximocontador , Pi ,valor;

            boolean menosuno;

            Panel panel1,panel2,panel3;

            TextField digitos;

            double dig;

           

            public void calculopi()

            {

                        menosuno=true;

                        Pi=0;

                        valor=0;

                        maximocontador=10;

                        contador=0;

                        dig=1;

            }

           

            public void init()

            {

                        super.init();

                        FlowLayout rejilla = new FlowLayout();

                        setLayout(new BorderLayout());

                        panel1= new Panel();

                        panel2=new Panel();

                        panel3=new Panel();

                        calcular=new Button("Calcular Pi             ");

                        pi = new Label("Calculo de pi              ");

                        numerodigitos = new Label("Numero de Dígitos de pi");

                        digitos = new TextField("3");

                        texto = new Label("Espere un momento...");

                        panel1.add(calcular);

                        panel1.add(pi);

                        panel2.add(texto);

                        panel3.add(numerodigitos);

                        panel3.add(digitos);

                        add("North",panel1);

                        add("Center",panel2);

                        add("South",panel3);

                        calcular.addActionListener(this);

                        }

            public void actionPerformed(ActionEvent e)

            {

                        calcular();

            }

           

            public void calcular ()

            {                      double max=0;          

                                   max=Double.valueOf(digitos.getText()).doubleValue();

                                   dig=Math.pow(10,max);

                                                          

                                   pi.setText("... de " + dig + "digitos");

                                   texto.setText("Comienza el calculo");

                                   for(double i=1; i<dig;i++)

                                   {

                                               if (i % dig /10 == 0)texto.setText(i* dig/10+" %");

                                               valor= 2*i - 1;

                                               valor= 1/valor;

                                               menosuno= !menosuno;

                                               if(menosuno){contador= (-1) * valor;}else{contador = valor;}

                                               Pi=Pi+contador;

                                   }

                                   if (Pi<0) Pi=Pi*(-1);

                                   pi.setText(Double.toString(4* Pi));

                                   texto.setText("Terminado el calculo");

                                    Pi=0;

            }

}