Question: In Python Background Info: Imagine a circle inscribed within a square that spans the area where -1 ? x ? 1 and -1 ? y

In Python

Background Info:

Imagine a circle inscribed within a square that spans the area where -1 ? x ? 1 and -1 ? y ? 1. The area of the inscribed circle, whose radius is 1.0 would be ?.

If you were to throw darts at random locations in the square, only some of them would hit inside the circle inscribed within it. The ratio

area of the circle ------------------ area of the square 

can be estimated by the ratio

number of darts that hit inside the circle ------------------------------------------ total number of darts thrown 

As the number of darts increases, the second ratio, above, gets closer and closer to the first ratio. Since three of the four quantities involved are known, they can be used to approximate the area of the circle this in turn can be used to approximate ?

Functions to write

For this problem, you will write two functions (each based on loops) that use different tests for determining how many random darts to throw: forPi(n) and whilePi(error). One of the common elements of the two functions is to determine if a dart hits within the circle. Because the dart is thrown randomly, we need to use random numbers we learned earlier in the semester. You will need to import the random number package, you will also need to use the uniform() random function to determine if a pair of x and y (coordinates where the dart hits) is within the circle.

Task #1 : forPi

The forPi(n) function takes in a positive integer n and should throw n darts at the square. Each time a dart is thrown, this function should print

the number of darts thrown so far

the number of darts thrown so far that have hit inside the circle

the resulting estimate of ?

Return value The forPi function should return the final resulting estimate of ? after n throws.

Task #2: whilePi

The whilePi(error) function, on the other hand, will take in a positive floating-point value, error, and should then continue to throw darts at the dartboard (the square). It should only stop when the absolute difference between the estimate of ? and the real value of? is less than error.

As with the forPi function, this function should print

the number of darts thrown so far

the number of darts thrown so far that have hit inside the circle

the resulting estimate of ?

after each dart throw it makes.

Return value The whilePi function should return the number of darts thrown in order to reach the input accuracy.

Note that the whilePi function requires the actual, known value of ? in order to determine whether or not its estimate is within the error range. Although this would not be available for estimating an unknown constant, you may include the line

import math

in your code and then use the value of math.pi as the actual value of ?.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!