Le problème est ici la mise à jour du degré.
procedure addpoly(P, Q : polynome; var R : polynome); var i, deg : integer; begin if P.degre>Q.degre then deg:=P.degre else if Q.degre>P.degre then deg:=Q.degre else while ( (P.coef[deg]+Q.coef[deg]) = 0) and (deg<>0) do deg:=deg-1; R.degre:=deg; for i:=0 to R.degre do R.coef[i]:=P.coef[i]+Q.coef[i]; end;