Posté par
patrice rabiller patrice rabillerJe crois bien que setLength n'exsite pas en Turbo Pascal, mais seulement en Delphi. Ça correspond à l'instruction dim des calculatrices lorqu'on veut préciser la dimension d'une liste...
Si ça ne marche pas, alors il faut définir un type Polynome pouvant contenir tout polynôme de degré inférieur ou égal à 200 (par exemple)comme ceci :
Type TPolynome = Array[0..200] of real;
Le degré du polynôme peut être alors calculé en parcourant le tableau à partir de la fin (indice 200) jusqu'à ce qu'un coefficient soit non nul.
Du coup, il faut obligatoirement initialiser tous les coefficients au moment de l'affectation, en complétant au besoin par des coefficients nuls.
L'intérêt de définir un type est de permettre le passage en paramètre de n'import quel polynome.
Du coup la procédure sera différente :
Type TPolynome = array[0..200] of real;
Procedure Decoupe(P : TPolynome; var P1,P2 : TPolynome);
var k,N : integer;
Begin
k:=200;
While P[k]<>0 do dec(k); //recherche du degré de P
N:=k;
For k:=0 to N-1 do
begin
P1[k]:=P[k];
P2[k]:=P[n+k];
end;
For k:=N to 200 do // initalisation des coefficients
begin
P1[k]:=0;
P2[k]:=0;
end;
End;
Maintenant, si je me souviens bien, il faut déclarer l'unité CRT, et rédiger un programme qui fera appel à la procédure decoupe avec un polynôme P donné.