On se propose de représenter des polynômes à coefficient réels par des listes chainées définies en langage C comme suit :
struct monome
{ float coefficient ; // le coefficient du monôme
int exposant ; // le degré du monôme
struct monome * suiv ; // l’adresse de l’élément suivant
} ;
typedef struct monome monome ;
typedef monome * polynome ;
On appellera polynôme liste p une liste chainée d’éléments de type monome et possédant les propriétés suivantes :
- Le premier élément à l’adresse p ;
- Le dernier élément a dans son champ suiv la valeur NULL ;
Exemple :
Le polynome P=5x4 +3x2+6x+8 sera représenté par le polynôme liste p comme suit :
Question 1 :
Soit la déclaration suivante : polynome p
Ecrire une fonction : polynome saisir() qui permet de saisir le polynome p
Question 2 :
Ecrire une fonction qui renvoie la valeur du polynôme p pour une valeur donnée x passée comme paramètre à la fonction float valeurPolynome(polynome p, int x)
Question 3 :
Ecrire une fonction C qui renvoie un nouveau polynôme résultat de la multiplication d’un polynôme passé en paramètre par un monôme de la forme axn où a et n sont respectivement un réel et un entier passés aussi comme paramètre à la fonction :
polynome MultiplMonome (polynome p, float a, int n)
Exemple :
Le polynôme P=5x4 +3x2+6x+8 , le monôme m=axn
Res=P*mn
=( 5x4 +3x2+6x+8)*axn
= (5+a)*x(4+n) + (3+a)*x(2+n) +(6+a)*x(1+n) +(8+a)*x(0+n)
Question 4 :
Ecrire une fonction en langage C qui affiche le polynôme p sous la forme d’affichage conventionnel des polynômes.
Le polynôme est P=5x4 +3x2+6x+8
-----