Starting from:
$25

$19

Homework #2

In this assignment you will be using linked lists to represent, display, and evaluate polynomials. The following article provides a good overview of polynomials: http://en.wikipedia.org/wiki/Polynomial.

The following rules should be observed throughout the assignment:

        ◦ Each polynomial should be represented as a singly-linked list (see files “list.h” and “list.c” from the book).

        ◦ Each element in the linked list should represent one of the terms in the polynomial.

        ◦ The data held by each element should be type double representing the constant for that term.
        ◦ For example, the polynomial 6.0x3  - 5.3x + 3.1 would be represented by the linked list

6.00.0-5.33.1.

    a) (1 point) Implement a function called appendTerm:

void appendTerm(List *pPolynomial, double constant);

This function should append (insert at the end) the value constant to pPolynomial. For example, appending 3.1 to pPolynomial already containing 6.0 0.0 -5.3 should result in the value 3.1 being added at the end: 6.0 0.0 -5.3 3.1. If the append fails the program should exit.

b) (2 points) Implement a function called display:

void display(List *pPolynomial);

This function should output the polynomial to stdout in proper polynomial format. For example, displaying polynomial 6.0 0.0 -5.3 3.1 should result in 6.0x^3 - 5.3x + 3.1 being output.

c) (2 points) Implement a function called evaluate:

double evaluate(List *pPolynomial, double x);

This function should evaluate the polynomial for the given value of x and return the result. For example, given polynomial 6.0 0.0 -5.3 3.1 and x having value 7.0 the function should return 2024.0 (the result of evaluating 6.0*7.03 - 5.3*7.0 + 3.1).

    d) (4 points) Write a program to test the functions from parts a – c. Your test program should demonstrate creating, displaying, and evaluating the following polynomials with the given values for x:

·
x + 1.0
with
x
=
1.0
·
x2  - 1.0
with
x
=
2.03

1
CSE-40049
·    -3.0x3  + 0.5x2  - 2.0x    with x = 05.0

        ◦ -0.3125x4  - 9.915x2  - 7.75x - 40.0  with x = 123.45

    e) (1 point) Make sure your source code is well-commented, consistently formatted, uses no magic numbers/values, follows programming best-practices, and is ANSI-compliant.

Turn in all source code, program output, diagrams, and answers to questions in a single Word or PDF document.
























































2

More products