Dzień dobry, mam napisać algorytm Hornera dwoma sposobami - rekurencyjnie i iteracyjnie. Napisałem i nie jestem pewny, czy wszystko jest dobrze. Chciałbym, żebyście sprawdzili.
HORNER(n, wsp, x)
if n=0 then
return wsp[0]
else
return HORNER(n-1, wsp, x)*x+wsp[n]
Z tego algorytmu spróbowałem napisać iteracyjnie (z for oraz while)
z for:
HORNER(n, wsp, x)
y <-- wsp[0]
for i <-- 1 to n
do y <-- x*y+wsp[i]
return y
z while:
HORNER(n, wsp, x)
i<--0
while i<=n
do i <-- i+1
y <-- x*y+wsp[i]
return y
- Czy wcięcia są ok.?
- HORNER(n, wsp, x) - jest dobrze? Czy powinno być inaczej?
- Czy algorytm napisany iteracyjnie jest wierny algorytmowi napisanego rekurencyjnie? Zamiast y (for i while) napisałbym n, ale nie wiem, czy tak można.