Mar 14, 2025 | 394 words | 4 min read
9.2.3. Task 3#
Learning Objectives#
Predict the output of a complete for and while loop in
Python; Create, manipulate, and read from arrays, lists, and
dictionaries in Python; Manipulate and extract information from
lists, arrays, and dictionaries in Python; Use loops to compare and
evaluate associated elements in data sets in Python.
Introduction#
A Maclaurin series is an \(n^\text{th}\) degree polynomial that can be used to approximate a function around \(x = 0\). The exponential function can be approximated as follows:
Where the infinite series converges with the actual function over all real numbers. Practically, for a finite approximation, the fewer terms that are used, the less accurate the approximation will be, particularly as \(x\) gets further from \(0\).
Part A:#
Using your my_factorial function from Task 2, write a
main program using the ENGR133_Python_Template.py which will use the Maclaurin series defined above to
approximate \(e^x\) with specified values of \(n\) and \(x\). The
program should also print to the screen the percent error of the estimated value
with respect to a calculation of the actual value. Save the flowchart as a
separate page in
py3_team_3_teamnumber.pdf. Save
your Python file as
py3_team_3_a_teamnumber.py.
Note
Ask the user to input \(n\) and then \(x\).
Sample Output#
Use the values in Table 9.7 below to test your program.
Case |
\(n\) |
\(x\) |
|---|---|---|
1 |
5 |
3 |
Ensure your program’s output matches the provided samples exactly. This includes all characters, white space, and punctuation. In the samples, user input is highlighted like this for clarity, but your program should not highlight user input in this way.
Case 1 Sample Output
$ python3 py3_team_3_a_teamnumber.py Enter the value of n: 5 Enter the value of x: 3 Actual value: 20.09 Approximate value: 18.40 Error: -8.4%
Part B:#
This time, write a main function using the ENGR133_Python_Template.py that will generate as many terms as
is necessary to approximate the function to a specified level of accuracy (i.e.,
below a percent error threshold) at a specified value of \(x\).
Additionally, print to the screen the number of terms the series must contain
before the target accuracy is achieved. Save the flowchart as a separate page
in py3_team_3_teamnumber.pdf. Save
your Python file as
py3_team_3_b_teamnumber.py.
Note
Ask the user to input \(x\), and then the target error.
Sample Output#
Use the values in Table 9.8 below to test your program.
Case |
\(x\) |
target error threshold |
|---|---|---|
1 |
3 |
5 |
Ensure your program’s output matches the provided samples exactly. This includes all characters, white space, and punctuation. In the samples, user input is highlighted like this for clarity, but your program should not highlight user input in this way.
Case 1 Sample Output
$ python3 py3_team_3_b_teamnumber.py Enter the value of x: 3 Enter the target error threshold: 5 Terms needed: 7 Actual value: 20.09 Approximate value: 19.41 Target error threshold: 5.0%
Deliverables |
Description |
|---|---|
py3_team_3_a_teamnumber.py |
Your completed Python code for part A. |
py3_team_3_b_teamnumber.py |
Your completed Python code for part B. |
py3_team_3_teamnumber.pdf |
Flowchart(s) for every part of this task. |