restart: # HORNER'S ALGORITHM 2.7 # # To evaluate the polynomial # p(x) = a(n) * x^n + a(n-1) * x^(n-1) + ... + a(1) * x + a(0) # and its derivative p'(x) at x = x0: # # INPUT: degree n: coefficients aa(0),aa(1),...,aa(n): # value of x0. # # OUTPUT: y = p(x0), z = p'(x0). print(`This is Horners Method\134n`): OK := FALSE: while OK = FALSE do print(`Input degree n of polynomial - no decimal point\134n`): N := scanf(`%d`)[1]:print(`Degree = `):print(N): if N < 0 then print(`Incorrect input - degree must be nonnegative.\134n`): else OK := TRUE: fi: od: print(`Input coefficients of P(X) in ascending order\134n`): for I1 from 0 to N do print(`Input coefficient of X with exponent `, I1): AA[I1] := scanf(`%f`)[1]:print(`Coefficient = `):print(AA[I1]): od: print(`Input argument X0 at which to evaluate P(X)\134n`): X0 := scanf(`%f`)[1]:print(`Evaluate at x = `):print(X0): # Step 1 # Compute b(n) for p(x) Y := AA[N]: # Compute b(n-1) for p'(x) if N = 0 then Z := 0: else Z := AA[N]: fi: MM := N-1: # Step 2 for I1 from 1 to MM do J := N-I1: # Compute b(j) for p(x) Y := Y*X0+AA[J]: # Compute b(j-1) for p'(x) Z := Z*X0+Y: od: # Step 3 # Compute b(0) for p(x) if N <> 0 then Y := Y*X0+AA[0]: fi: print(`Coefficients of polynominal P :\134n`): # Step 4 for I1 from 0 to N do print(`Exponent = `,I1,` Coefficient = `, AA[I1]): od: print(`\134n P evaluated at x = `, X0,` is `, Y): print(` P' evaluated at x = `, X0,` is `, Z): SThUaGlzfmlzfkhvcm5lcnN+TWV0aG9kfCtHNiI= SVFJbnB1dH5kZWdyZWV+bn5vZn5wb2x5bm9taWFsfi1+bm9+ZGVjaW1hbH5wb2ludHwrRzYi SSpEZWdyZWV+PX5HNiI= IiIl SU9JbnB1dH5jb2VmZmljaWVudHN+b2Z+UChYKX5pbn5hc2NlbmRpbmd+b3JkZXJ8K0c2Ig== NiRJRklucHV0fmNvZWZmaWNpZW50fm9mflh+d2l0aH5leHBvbmVudH5HNiIiIiE= SS9Db2VmZmljaWVudH49fkc2Ig== JCEiJSIiIQ== NiRJRklucHV0fmNvZWZmaWNpZW50fm9mflh+d2l0aH5leHBvbmVudH5HNiIiIiI= SS9Db2VmZmljaWVudH49fkc2Ig== JCIiJCIiIQ== NiRJRklucHV0fmNvZWZmaWNpZW50fm9mflh+d2l0aH5leHBvbmVudH5HNiIiIiM= SS9Db2VmZmljaWVudH49fkc2Ig== JCEiJCIiIQ== NiRJRklucHV0fmNvZWZmaWNpZW50fm9mflh+d2l0aH5leHBvbmVudH5HNiIiIiQ= SS9Db2VmZmljaWVudH49fkc2Ig== JCIiIUYj NiRJRklucHV0fmNvZWZmaWNpZW50fm9mflh+d2l0aH5leHBvbmVudH5HNiIiIiU= SS9Db2VmZmljaWVudH49fkc2Ig== JCIiIyIiIQ== SU1JbnB1dH5hcmd1bWVudH5YMH5hdH53aGljaH50b35ldmFsdWF0ZX5QKFgpfCtHNiI= STFFdmFsdWF0ZX5hdH54fj1+RzYi JCEiIyIiIQ== SUFDb2VmZmljaWVudHN+b2Z+cG9seW5vbWluYWx+UH46fCtHNiI= NiZJLEV4cG9uZW50fj1+RzYiIiIhSTB+Q29lZmZpY2llbnR+PX5HRiQkISIlRiU= NiZJLEV4cG9uZW50fj1+RzYiIiIiSTB+Q29lZmZpY2llbnR+PX5HRiQkIiIkIiIh NiZJLEV4cG9uZW50fj1+RzYiIiIjSTB+Q29lZmZpY2llbnR+PX5HRiQkISIkIiIh NiZJLEV4cG9uZW50fj1+RzYiIiIkSTB+Q29lZmZpY2llbnR+PX5HRiQkIiIhRig= NiZJLEV4cG9uZW50fj1+RzYiIiIlSTB+Q29lZmZpY2llbnR+PX5HRiQkIiIjIiIh NiZJNnwrflB+ZXZhbHVhdGVkfmF0fnh+PX5HNiIkISIjIiIhSSV+aXN+R0YkJCIjNUYn NiZJNn5QJ35ldmFsdWF0ZWR+YXR+eH49fkc2IiQhIiMiIiFJJX5pc35HRiQkISNcRic= JSFH