Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cs-142:pi [2015/01/07 15:53] (current)
ryancha created
Line 1: Line 1:
 +=Purpose=
  
 +The purpose of this lab is to create a program that performs a simple computation of the value $\pi$.
 +
 +=Requirements=
 +[[image:​pi.jpg|thumb]]
 +The value of $\pi$ can be computed according to the following formula:
 +$\frac{\pi}{4} = 1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + \frac{1}{9} - ...$
 +Write a C++ program to compute $\pi$. ​ Because the formula is an infinite series, you wont be able to compute $\pi$ exactly. ​ Compute it with enough terms to arrive at the value  3.19419. ​ (This is an estimated value, reached at 19 terms). You don't need to use a loop, but just add in as many terms as you need by making the expression longer. ​ You may need to modify and run your program several times until you get the correct answer.
 +
 +=Think before programming=
 +
 +You may think that you don't know how to complete this lab, but you actually do.  Write down the steps you would take to compute $\pi$ with a pencil and paper, then translate this into computer instructions.
 +# Inputs
 +# Outputs
 +
 +In this case there are no ''​Inputs'',​ other than running the program itself. The ''​Output''​ is the correct value of $\pi$ that you will be printing out.
 +
 +=Getting Help=
 +
 +If you get stuck:
 +
 +# First work the problem out on a piece of paper. ​ Don't ask for help too quickly and don't use a solution you find on the internet. ​ We want you to build the ability to write programs on your own.
 +# Second ask the person sitting next to you. They'​ll feel good helping you and if they don't know you will learn together!
 +# As a last resort if you need help from a TA (and you are working in the lab), please use the  help request queue: ​
 +
 +[http://​taohelpqueue.appspot.com/​requesthelp/​YPK364KMSA5U5QF55UCL8LQ3JHCS5C http://​aml.cs.byu.edu/​~kseppi/​cs142help.html]
 +
 +The TA's love to help, but you will gain much more in learning how to solve your problems on your own!
 +
 +=Tips=
 +* Take note that you are given the formula for $\frac{\pi}{4}$,​ nor for $\pi$ itself.
 +* Ensure you know the difference between integer division and floating point division.
 +
 +=I need more than this=
 +
 +Some of you have already done some programming and need an additional challenge. ​ Read ahead to find out how to use loops, then make your program calculate $\pi$ using as many terms (how many iterations the loop completes, NOT how many significant digits are listed when printed) as you ask it to. You will probably want to use a variable to tell your program how many terms you want to include.
 +
 +If you are '''​really curious'''​ about how computers actually do floating-point math you can take a look at the paper "What Every Computer Scientist Should Know About Floating-Point Arithmetic"​ by David Goldberg. you can find a link to it at http://​dl.acm.org/​citation.cfm?​id=103163
 +
 +=Pass-off procedure=
 +{{see|How to pass off}}
 +
 +When you have your program working, you will need to show it to a TA.
 +
 +Put yourself in the help request queue to pass off: http://​taohelpqueue.appspot.com/​requesthelp/​YPK364KMSA5U5QF55UCL8LQ3JHCS5C. ​
 +
 +The TA will evaluate your code based on the following criteria:
 +
 +# Did you print anything at all? (5 points)
 +# Did you print out the correct value for $\pi$? (10 points)
 +# Did you [[Coding_Style|format your code]] as shown in the book and in class, with separate lines and indenting. (5 points)
 +
 +
 +'''​Extra credit''':​ Did you find out how to print out $\pi$ with as many '''​iterations'''​ (of your loop, NOT calculating pie to a certain decimal place) as needed? (1 point)
 +
 +=Electronic Submission=
 +
 +WHEN YOU PASS OFF, you will need to submit your code. To do this follow the instructions below:
 +
 +# On your computer, navigate to the directory containing your Visual C++ project (clue: look at the top bar in Visual C++).
 +# Find the .cpp files for the classes you have written.
 +# Attach these files to an email and send them to {{gmail|cs142ta.codesubmission}}.
 +
 +If you have trouble, ask a neighbor or a TA.
 +
 +You can save the files to the desktop and then attach them to an email.
 +
 +An example pass-off form is shown below for this lab. You will find printed pass-off forms in 1119 TMCB. 
 +
 +[[image:​lab2.png|300px]]
cs-142/pi.txt ยท Last modified: 2015/01/07 15:53 by ryancha
Back to top
CC Attribution-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0