Abstract Data Types

class polynomial

{

public:

void read();

void write();

double evaluate();

};

Read()

Get the order of the polynomial;

for(j = order; j >= 0; j--)

get the jth coeff.;

Write()

for(j = order; j >= 0; j--)

write the jth term;

evaluate(double x)

sum = 0; // Initialize sum to zero

for(j = order; j >= 0; j--)

sum += a[j]*power(x,j);

// add x to the power j multiplied by jth coeff to the sum

sum = a[order]

for(j = order - 1; j >= 0; j --)

sum = sum*x + a[j];

return sum

const maxorder = 100;

class polynomial

{

int order;

double a[maxorder+1];

public:

void read();

void write();

double evaluate(double x);

};

void polynomial::read()

{ // make it more interactive

cin >> order;

for(int j = order; j >= 0; j--)

cin >> a[j];

}

double polynomial::evaluate(double x)

{

double sum = 0;

for(int j = order; j >= 0; j--)

sum += a[j]*power(x,j);

}