Horner's rule for polynomial evaluation: Difference between revisions

Added solution for Action!
No edit summary
(Added solution for Action!)
Line 70:
(+ (first ps)
(* x (horner (rest ps) x)))))</lang>
 
=={{header|Action!}}==
<lang Action!>INT FUNC Horner(INT ARRAY coeffs INT count,x)
INT v,i
 
v=0 i=count-1
WHILE i>=0
DO
v=v*x+coeffs(i)
i==-1
OD
RETURN (v)
 
PROC Main()
INT ARRAY coeffs=[65517 7 65532 6]
INT res,x=[3],i,count=[4]
 
PrintF("x=%I%E",x)
FOR i=0 TO count-1
DO
PrintI(coeffs(i))
IF i=1 THEN
Print("x")
ELSEIF i>1 THEN
PrintF("x^%I",i)
FI
IF i<count-1 AND coeffs(i+1)>=0 THEN
Print("+")
FI
OD
res=Horner(coeffs,4,x)
PrintF("=%I%E",res)
RETURN</lang>
{{out}}
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Horner's_rule_for_polynomial_evaluation.png Screenshot from Atari 8-bit computer]
<pre>
x=3
-19+7x-4x^2+6x^3=128
</pre>
 
=={{header|Ada}}==
Anonymous user