 Download Presentation Computer Science 1620 Computer Science 1620 - PowerPoint PPT Presentation

Download Presentation Computer Science 1620
An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

1. Computer Science 1620 Math Library

2. Remember this program? • suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) one year, b) two years c) three years

3. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) one year, b) two years c) three years #include <iostream> using namespace std; int main() { cout << "Year 1: \$" << 25000 * 1.08 << endl; cout << "Year 2: \$" << 25000 * 1.08 * 1.08 << endl; cout << "Year 3: \$" << 25000 * 1.08 * 1.08 * 1.08 << endl; return 0; }

4. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) one year, b) two years c) three years #include <iostream> using namespace std; int main() { double balance = 25000.0; balance = balance * 1.08; cout << "Year 1: \$" << balance << endl; balance = balance * 1.08; cout << "Year 2: \$" << balance << endl; balance = balance * 1.08; cout << "Year 3: \$" << balance << endl; return 0; }

5. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) one year, b) two years c) three years #include <iostream> #include <iomanip> using namespace std; int main() { cout << fixed << showpoint << setprecision(2); cout << "Year 1: \$" << 25000 * 1.08 << endl; cout << "Year 2: \$" << 25000 * 1.08 * 1.08 << endl; cout << "Year 3: \$" << 25000 * 1.08 * 1.08 * 1.08 << endl; return 0; }

6. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) one year, b) two years c) three years #include <iostream> #include <iomanip> using namespace std; int main() { double balance = 25000.0; cout << fixed << showpoint << setprecision(2); balance = balance * 1.08; cout << "Year 1: \$" << balance << endl; balance = balance * 1.08; cout << "Year 2: \$" << balance << endl; balance = balance * 1.08; cout << "Year 3: \$" << balance << endl; return 0; }

7. Suppose we alter the program? • suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty yearsc) thirty years

8. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears #include <iostream> #include <iomanip> using namespace std; int main() { cout << fixed << showpoint << setprecision(2); cout << "Year 1: \$" << 25000 * 1.08 << endl; cout << "Year 2: \$" << 25000 * 1.08 * 1.08 << endl; cout << "Year 3: \$" << 25000 * 1.08 * 1.08 * 1.08 << endl; return 0; }

9. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears #include <iostream> #include <iomanip> using namespace std; int main() { cout << fixed << showpoint << setprecision(2); cout << "Year 1: \$" << 25000 * 1.08 << endl; cout << "Year 2: \$" << 25000 * 1.08 * 1.08 << endl; cout << "Year 3: \$" << 25000 * 1.08 * 1.08 * 1.08 << endl; return 0; }

10. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears #include <iostream> #include <iomanip> using namespace std; int main() { cout << fixed << showpoint << setprecision(2); cout << "Year 10: \$" << 25000 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 << endl; cout << "Year 2: \$" << 25000 * 1.08 * 1.08 << endl; cout << "Year 3: \$" << 25000 * 1.08 * 1.08 * 1.08 << endl; return 0; }

11. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears #include <iostream> #include <iomanip> using namespace std; int main() { cout << fixed << showpoint << setprecision(2); cout << "Year 10: \$" << 25000 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 << endl; cout << "Year 20: \$" << 25000 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08* 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 << endl; cout << "Year 30: \$" << 25000 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 << endl; return 0; }

12. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears #include <iostream> #include <iomanip> using namespace std; int main() { double balance = 25000.0; cout << fixed << showpoint << setprecision(2); balance = balance * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08; cout << "Year 10: \$" << balance << endl; balance = balance * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08; cout << "Year 20: \$" << balance << endl; balance = balance * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08; cout << "Year 30: \$" << balance << endl; return 0; }

13. The previous example worked, but … • to calculate 1.0830 required that we manuallytype in thirty multiplications • suppose we had wanted to know the balance after 100 years?

14. pow(b,e) • to compute b raised to the power of e, one can use the pow function • syntax: • the pow statement itself is an expression • value: the first expression raised to the power of the second expression pow( , ) numeric expression numeric expression

15. Example: #include <iostream> #include <cmath> using namespace std; int main() { cout << pow(3.0, 3.0) << endl; cout << pow(3, 4.0) << endl; cout << pow(4.0, 3) << endl; int x = 5; double y = 6.0; cout << pow(x, y) << endl; cout << pow(x, y) + pow(3.0, 3.0) << endl; cout << pow( pow(x, y), pow(3.0, 3.0) ) << endl; return 0; }

16. A note about pow • you cannot send it two integer expressions • cout << pow(3, 4) << endl; // compiler error • this has to do with function overloading • we will examine functions later • for now, just know that one expression has to be a floating point type

17. The cmath library

18. A Note about Types • when using a math function (from previous slide), the type of the expression is the same as the type of the input expression, with some exceptions: • an integerexpression is converted to a double • for the pow function, the type of the expression is the largest of the base and exponent expressions • for abs • integers are not converted to doubles • shorts and chars are converted to ints

19. A Note about the Trig Functions • the input expression is considered to be radians • hence, sin(30.0) = -0.988032, not 0.5 • to convert radians to degrees, multiply the value by (π / 180)

20. Example: #include <iostream> #include <cmath> using namespace std; int main() { const double PI = 3.14159; cout << sin(30) << endl; cout << sin(30 * PI / 180) << endl; return 0; }

21. Back to our previous example • suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty yearsc) thirty years

22. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears #include <iostream> #include <iomanip> using namespace std; int main() { cout << fixed << showpoint << setprecision(2); cout << "Year 10: \$" << 25000 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 << endl; cout << "Year 20: \$" << 25000 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 << endl; cout << "Year 30: \$" << 25000 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 << endl; return 0; }

23. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { cout << fixed << showpoint << setprecision(2); cout << "Year 10: \$" << 25000 * pow(1.08, 10) << endl; cout << "Year 10: \$" << 25000 * pow(1.08, 20) << endl; cout << "Year 10: \$" << 25000 * pow(1.08, 30) << endl; return 0; }

24. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears #include <iostream> #include <iomanip> using namespace std; int main() { double balance = 25000.0; cout << fixed << showpoint << setprecision(2); balance = balance * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08; cout << "Year 10: \$" << balance << endl; balance = balance * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08; cout << "Year 20: \$" << balance << endl; balance = balance * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08 * 1.08; cout << "Year 30: \$" << balance << endl; return 0; }

25. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { double balance = 25000.0; cout << fixed << showpoint << setprecision(2); balance = balance * pow(1.08, 10); cout << "Year 10: \$" << balance << endl; balance = balance * pow(1.08, 10); cout << "Year 20: \$" << balance << endl; balance = balance * pow(1.08, 10); cout << "Year 30: \$" << balance << endl; return 0; }

26. Suppose that I invest \$25000 into a mutual fund that returns 8% per year. Write a program to calculate how much the fund will be worth after a) ten years, b) twenty years c) thirtyyears #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { double balance = 25000.0; double increase = pow(1.08, 10); cout << fixed << showpoint << setprecision(2); balance = balance * increase; cout << "Year 10: \$" << balance << endl; balance = balance * increase; cout << "Year 20: \$" << balance << endl; balance = balance * increase; cout << "Year 30: \$" << balance << endl; return 0; }

27. Example 2: Suppose you have a cannon. Given an initial velocity of a cannonball and the angle of the cannon θ, output (1) the time that the ball remains in the air and (2) the maximum height of its trajectory

28. Arithmetic Data and Operators • Given a value θ and initial velocity v0, we can calculate the time that the ball stays in the air: • and its maximum height: • g is approximately -9.81 m/s at sea level

29. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; }

30. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; }

31. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; }

32. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; }

33. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; }

34. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; }

35. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / -9.81; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; } cmath call

36. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) /-9.81; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; } Magic Number

37. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) /G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; } Expects radians

38. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * 3.14159 / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; } Magic Number

39. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; }

40. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; }

41. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; }

42. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; }

43. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(2); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; }

44. Write a program that accepts an initial velocity and the angle of trajectory, and computes the hangtime and the maximum height of the cannonball. Output to three decimal places. #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { const double PI = 3.14159; const double G = -9.81; double v0; cout << "Initial velocity (m/s): "; cin >> v0; double theta; cout << "Angle of trajectory (degrees): "; cin >> theta; theta = theta * PI / 180.0; double time = -2 * v0 * sin(theta) / G; double height = -pow(v0 * sin(theta), 2) / (2 * G); cout << fixed << showpoint << setprecision(3); cout << "Hangtime (s): " << time << endl; cout << "Height (m): " << height << endl; return 0; }