The conventional algorithm for evaluating a polynomial anxn + an-1xn-1 + …+ a1x + a0 at x = c can be expressed in pseudocode by

procedure polynomial(c, a0, a1 ,…, an real numbers)

power := 1

y := a0

for i := 1 to n

power := power * c

y := y + ai,* power

return y {y = ancn + an-1cn-1 + … +a1c + a0}

where the final value of y is the value of the polynomial at x = c.

a) Evaluate 3x2 + x + 1 at x = 2 by working through each step of the algorithm showing the values assigned at each assignment step.

b) Exactly how many multiplications and additions are used to evaluate a polynomial of degree n at x = c? (Do not count additions used to increment the loop variable.)

Solution:Step 1</p>

In this problem we need to find the value of polynomial at using the given algorithm.

Given algorithm :

procedure polynomial(:real numbers)

power := 1

y :=

for i := 1 to n

power := power * c

y := y + return y {}where the final value of y is the value of the polynomial at x = c.

Step 2</p>

To find the value of the polynomial at using algorithm we do as follows.

Initial conditions of the algorithm are :

and

Step 1 of the algorithm:

For , and

Therefore for , and

Step 2 of the algorithm:

For , and

Therefore for , and

Thus the value of the polynomial at is 15 by using the algorithm.