Computer Science 1 3.14 And he made a molten sea, ten cubits from the one brim to the other: it was round all about, and his height was five cubits: and a line of thirty cubits did compass it about. (I Kings 7: 23) 950 BC
Dry run program sumthing; function sum (no : integer): integer; begin if (no = 1) then sum := 1 else sum:= no - sum (no - 1); end; var total : integer; total := sum(5); writeln(total); end. Dry run
PI Memorizers
How many digits of PI can you recite?
Today there are 3 PI themed options Describe each methods Give an example on how each works Online time to generate the code for one or more. At the end of class. A round bracelet to the person (team) that generates PI the most digits.
Write a program to approximate PI 1400 method (Madhana of Sangamagrama, and rediscovered by Leibniz in the 1600s) Use this method to estimate PI. What value do you get after 500 iterations, 1000, 10000, …? Push: How could you write a program to use this method to calculate PI to +/- 1/1000
Wallis Method (1655) Use this method to estimate PI. What value do you get after 500 iterations, 1000, 10000, …? Push: How could you write a program to use this method to calculate PI to +/- 1/1000
Random Circle Area Method Using a 100 pixel x100 pixel square with a circle inscribed with a 50 pixel radius. Generate random points (x, y) inside the square. ( 0 <=x <=100, 0<=y<=100). Count how many of these points are inside the circle and use this to estimate the value of PI. Try with 500 points, 1000 points, 10000 points … Push: Show graphically Push: Compare with Squares and Circles of different sizes to see if it makes a difference. (Dots in)/(total Dots) = (Circle Area)/(Total Area) = (PI*r2)/(2*r)2 = (PI*r2)/(4*r2) = PI/4 Multiplying both sides by 4 4*(Dots in)/(total Dots) = PI