Pi berekenen door pijltjes te gooien

Moderators: dirkwb, Xilvo

Forumregels
(Middelbare) school-achtige vragen naar het forum "Huiswerk en Practica" a.u.b.
Zie eerst de Huiswerkbijsluiter
Reageer
Gebruikersavatar
Berichten: 1.279

Pi berekenen door pijltjes te gooien

Als je een cirkel neemt met daarin een ingeschreven vierkant en je gooit daar een pijltje naar, dan heeft dat precies 0.5 :shock: -1 kans om in het oppervlak in de cirkel te gooien. ALs je dus maar genoeg pijltjes gooit, en je deelt het aantal op het oppervlakte door het aantal pijltjes en vermenigvuldigt dit met twee en telt hier 2 bij op, dan zou je normaal pi moten krijgen.

Gebruikersavatar
Berichten: 24.578

Re: Pi berekenen door pijltjes te gooien

Misschien in theorie, maar ik vrees dat het in de praktijk aardig zal tegenvallen - toch zeker als je pi redelijk accuraat wil :shock:

Gebruikersavatar
Berichten: 1.279

Re: Pi berekenen door pijltjes te gooien

Ik denk dat om aan 3.14 je al duizenden pijltjes moet gooien. Na tien pijltjes zal je er niet dichter bij zitten dan 3.

Gebruikersavatar
Berichten: 222

Re: Pi berekenen door pijltjes te gooien

Ik denk dat je ook nog tegen wat psychologische problemen oploopt. Je moet er namelijk ook voor zorgen dat je niet gaat mikken met het gooien en tegelijk random blijft gooien.
"If you're scared to die, you'd better not be scared to live"

Gebruikersavatar
Berichten: 1.279

Re: Pi berekenen door pijltjes te gooien

Maar klopt mijn methode wel?

Berichten: 294

Re: Pi berekenen door pijltjes te gooien

uit opgave informatica

Men kan een benadring van π berekenen aan de hand van het volgende algoritme :

beschouw een vierkant met een zijde van lengte 1,

beschouw de ingeschreven cirkel

plaats een raster over het vierkant

tel het aantal middelpunten van de rastercellen die binnen de cirkel liggen3

Hoe fijner het raster hoe nauwkeuriger de benadering van π . Schrijf een programma dat, gegeven het

aantal vierkantjes waarin het grote vierkant moet opgedeeld worden, een benadering voor π berekent.

dusja, gewoon met de formule voor oppervlakte verderwerken

voor de geintereseerden:

Code: Selecteer alles

import java.io.*;

public class BenaderingVanPi {

  public static void main (String args[])

  throws IOException {

  InputStreamReader isr = new InputStreamReader (System.in);

  BufferedReader in = new BufferedReader (isr);

  System.out.print("Geef het aantal delen: ");

  int n=Integer.parseInt(in.readLine());

  

  int aantalIn=0;

  int aantalUit=0;

  int aantalOp=0;

  int totaleLengte=1;

  double lengteEenPartitie=1.0/n;

  double begincoordinaatX=1.0/(2*n);

  double begincoordinaatY=1.0/(2*n);

  

  for(double xx=begincoordinaatX;xx<1;xx+=lengteEenPartitie) {

 	 for(double yy=begincoordinaatY;yy<1;yy+=lengteEenPartitie) {

    double doorslag = Math.pow((xx-0.5),2)+Math.pow((yy-0.5),2)-0.25;

 	 

    if (doorslag <0)

   	 {aantalIn++;}

    else if (doorslag ==0)

   	 {aantalOp++;}

   	 

   	 else {aantalUit++;}

 	 }

  }

  System.out.println(""+aantalIn);

  System.out.println(""+aantalUit);

  System.out.println(""+aantalOp);

  System.out.println(""+(aantalIn+aantalUit+aantalOp));    

  double benaderingPi=(double) aantalIn/((aantalIn+aantalUit+aantalOp)*Math.pow(0.5,2));

  System.out.println("De benadering van pi is: "+benaderingPi);

}

}
mvg

Andy

Berichten: 31

Re: Pi berekenen door pijltjes te gooien

De opgave klopt wel denk ik. Heb net dezelfde opdracht gekregen maar dan in een ander programma...

Reageer