0% ont trouvé ce document utile (0 vote)
71 vues2 pages

Listes Chaînées en C : TP Université Ibn Tofail

Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
71 vues2 pages

Listes Chaînées en C : TP Université Ibn Tofail

Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Ibn Tofail Structures de Données

Faculté des Sciences Kénitra Filière : IA Semestre 3


Département d’Informatique A.U. 2024/2025

Série de Travaux Pratiques N°2 : Listes Chaînées

Ces exercices ont pour objectif de vérifier les points techniques suivants :

 Manipulation de listes chaînées en C.


 Allocation et libération dynamique de la mémoire.
 Insertion, suppression et parcours d'une liste chaînée.
 Gestion des structures imbriquées avec des pointeurs.
 Prise en compte des cas particuliers (liste vide, suppression, etc.).

L’objectif de ce TP est de représenter un polynôme à coefficient réels par une liste chaînée de
monômes (noeuds de la liste) définis par la structure suivante :

typedef struct Monome * Polynome;


typedef struct Monome{
float coeff;
int puiss;
Polynome next;
}Monome;

Un polynôme P est une liste simplement chaînée de Monome dont l’adresse du premier
élément est dans P.

Exemple : Le polynôme P(x) = 3X7 + X6 – 2X + 4 sera représenté par la liste chainée


suivante :

1. Mise en place et structure

 Question 1 : Expliquez l'utilité de la déclaration typedef struct Monome *


Polynome;. En quoi cela simplifie-t-il la représentation du polynôme ?
 Question 2 : Écrivez une fonction Polynome creerMonome(float coeff, int
puiss) qui crée un nouveau monôme avec un coefficient et une puissance donnés, et
renvoie un pointeur vers ce monôme.

A. EL MAKRANI 1
Université Ibn Tofail Structures de Données
Faculté des Sciences Kénitra Filière : IA Semestre 3
Département d’Informatique A.U. 2024/2025

2. Opérations d'insertion

 Question 3 : Écrivez une fonction void ajouterMonome(Polynome *P, float


coeff, int puiss) qui insère un monôme dans un polynôme (représenté sous forme
de liste chaînée) en respectant l'ordre décroissant des puissances.
 Question 4 : Modifiez la fonction d'insertion pour combiner les monômes ayant la
même puissance (c'est-à-dire ajouter leurs coefficients).

3. Affichage et parcours

 Question 5 : Écrivez une fonction void afficherPolynome(Polynome P) qui


parcourt la liste chaînée et affiche le polynôme en notation mathématique standard
(par exemple, 3X2+2X−5 ).
 Question 6 : Comment gérez-vous l'affichage des polynômes contenant des termes
avec des coefficients nuls ou lorsque tous les termes sont nuls ?

4. Opérations sur les polynômes

 Question 7 : Écrivez une fonction Polynome additionnerPolynomes(Polynome


P1, Polynome P2) qui prend deux polynômes et renvoie un nouveau polynôme
représentant leur somme.
 Question 8 : Écrivez une fonction Polynome multiplierPolynomes(Polynome P1,
Polynome P2) qui multiplie deux polynômes et renvoie le polynôme résultant.

5. Fonctions spéciales et cas particuliers

 Question 9 : Écrivez une fonction int degrePolynome(Polynome P) qui renvoie le


degré du polynôme (c'est-à-dire la plus grande puissance du polynôme).
 Question 10 : Comment implémenteriez-vous une fonction Polynome
deriveePolynome(Polynome P) qui renvoie la dérivée du polynôme ?

A. EL MAKRANI 2

Vous aimerez peut-être aussi