DĚLENÍ POLYNOMŮ

PROBLÉM
Je dáno N+1 koeficientů polynomu A. řádu N (tj. A.0,A.1,...,A.N), a M+1 koeficientů polynomu B. řádu M (B.0,B.1,...,B.M), určete podíl polynomu A. polynomem B. se zbytkem, jehož výsledkem je podíl s koeficienty v Q.1,Q.2,...,Q.NmM, kde NmM=N-M a zbytek s koeficienty v R.1,R.2,...,R.Mm1, kde Mm1=M-1.

IMPLEMENTACE
Jednotka: vnitřní podprogram
 
Globální proměnné: vstupní pole A.,B.; výstupní pole Q.,R.
 
Parametry: přirozená čísla N, M; N>=M>=0
 
Výsledek: koeficienty podílu jsou v Q.1,Q.2,...,Q.NmM, kde NmM=N-M; koeficienty zbytku jsou v R.1,R.2,...,R.Mm1, kde Mm1=M-1
 


POLDIV: procedure expose A. B. R. Q.
parse arg N, M
Q. = 0
do J = 0 to N; R.J = A.J; end
do K = N - M to 0 by -1
  MpK = M + K; Q.K = R.MpK / B.M
  do J = M + K - 1 to K by -1
    JmK = J - K; R.J = R.J - Q.K * B.JmK
  end
end
return

 

PŘÍKLAD
Následující program


N = 4; M = 2
A.0 = 6; A.1 = -5; A.2 = 4; A.3 = -3; A.4 = 2
B.0 = 1; B.1 = -3; B.2 = 1
call POLDIV N, M
Quo = ""
do J = N - M to 0 by -1; Quo = Quo Q.J"*X**"J; end
Rem = ""
do J = M - 1 to 0 by -1; Rem = Rem R.J"*X**"J; end
say "podíl" Quo || "; zbytek" Rem
exit

POLDIV: procedure expose A. B. R. Q.
...

vypíše na obrazovku:

podíl 2*X**2 3*X**1 11*X**0; zbytek 25*X**1 -5*X**0

 

SOUVISLOSTI

Literatura
Press W.H., Teukolsky S.A., Vetterling W.T., Flannery B.P. Numerical Recipes in C : the art of scientific computing
- 2nd ed. University Press, Cambridge, 1992
Faddejev A.K., Sominskij J.S. Sbornik zadač po vyššej algebre
Nauka, Moskva 1964


Obálka Obsah Index Hlavní stránka Rexx   Mail

změněno 9. srpna 2001
Copyright © 2000-2001 Vladimír Zábrodský, RNDr.