Bonsoir
J'essaye de faire le sujet d'info de l'X 2007 (donc si Ksilver ou autres passent par là... )
Citation :Question 1 : Ecrire la fonction
valeur qui prend comme argument un polynôme
à coefficients dans
et un entier
, qui retourne la valeur
dans
de ce polynôme en cet entier
.
Citation :
Type poly = ^polycoeff;
polycoeff = record
coeff : integer;
suivant : poly;
end;
Function valeur(U: poly ; x : integer) : integer;
Var somme, puissance : integer;
p : poly;
Begin
somme:=0;
puissance:=1;
p:=U;
while p <> NIL do
begin
somme:=somme+puissance*p^.coeff;
p:=p^.suivant;
puissance:=puissance*x;
end;
valeur:=somme;
End;
Citation :Question 2 : Ecrire la fonction
codage qui prend comme argument la liste
et le polynôme
comme argument et qui retourne le codage de RS du message A.
Citation :
Function codage(alpha : poly ; A : poly) : poly;
Var i : integer;
p,q,sommet : poly;
Begin
q:=alpha;
sommet:=NIL;
while q <> NIL do
begin
new(p);
p^.coeff:=valeur(A,q^.coeff);
p^.suivant:=sommet;
sommet:=p;
q:=q^.suivant;
end;
codage:=miroir(sommet);
End;
J'ai utilisé donc une fonction
miroir qui prend comme argument un polynôme
à coefficients dans
tel que
et qui retourne le polynôme
tel que
.
Le problème c'est que je ne suis pas sûr de moi, je pensais parcourir la liste m'arrêter à
, le considérer comme premier élément, puis recommencer. Ca sent la récursivité mais je ne suis toujours pas à l'aise avec ça
Et si par la même occasion vous pouviez vérifier mes deux algos..
Merci beaucoup