• Aucun résultat trouvé

Série n°2 : listes chainées

N/A
N/A
Protected

Academic year: 2022

Partager "Série n°2 : listes chainées"

Copied!
3
0
0

Texte intégral

(1)

Université Cadi Ayyad Programmation II Faculté Polydisciplinaire de Safi Filière SMI (S4)

2019 - 2020

Série n°2 : listes chainées

Exercice1

Ecrire des fonctions en C qui permettent de :

 Calculer le nombre des éléments dune liste chainée.

 Calculer la somme des éléments et le moyen d’une liste chainée.

 Calculer le min des éléments d’une liste chainée.

 Supprimer la première occurrence d’un élément donnée d’une liste chainé d’entiers. Si l’élément n’existe pas, la liste reste inchangée.

 Inverser une liste chaine.

 Trier une liste chainée.

 Supprimer une liste chainée . Exercice2

Écrire une fonction qui permet de fusionner deux listes chaînées d’entiers triées par ordre croissant en une troisième liste telle que celle-ci contienne les éléments de la liste1 et les éléments de la liste2 triés par ordre croissant.

Exercice3

1. Écrire une fonction tabToList qui transforme un tableau d’entiers en liste chainée. La fonction doit retourner un pointeur qui indique la tête de la liste.

2. Écrire une fonction listToTab qui transforme une liste chainée d’entiers en tableau. La fonction doit retourner un tableau qui contient tous les éléments de la liste Chainée.

Exercice 4 (Gestion des Polynômes avec les listes chainées)

Le but de cet exercice est d’implémenter des opérations sur des polynômes par des listes chaînées.

On représente un polynôme par une liste chaînée. Chaque cellule de la liste correspond à un monôme, avec son coefficient et son exposant.

Par exemple, sur la figure ci-dessous, on représente la liste chaînée correspondant au polynôme

$5{ x }^{ 4 }+2{ x }^{ 2 }+3$.

en représente le Polynôme nul par une liste vide.

1. Définir la structure Poly qui a pour champs : le coefficient (réel) , l'exposant ( entier positif ) . 2. Écrire une fonction de saisie au clavier d’un monôme.

3. Écrire une fonction qui ajout un monôme a la liste du polynôme, en traite tous les cas possibles . 4. Écrire une fonction qui revoie une copie du polynôme.

5. Écrire une fonction qui créer et renvoi la somme de deux polynômes.

6. Écrire une fonction qui créer et renvoi le polynôme dérivé.

(2)

Université Cadi Ayyad Programmation II Faculté Polydisciplinaire de Safi Filière SMI (S4)

2019 - 2020

7. Écrire une fonction qui affiche le polynôme.

Exercice 5

On se propose de modéliser la gestion des patients dans un cabinet médical. Un patient est caractérisé par: le nom, le prénom et un champ rdv (pour rendez-vous) de type entier indiquant si le patient a un rendez-vous ou pas: 0 si le patient est sans rendez-vous, 1 si la patient est avec rendez-vous.

Avant d’être consultés par le médecin, les patients sont entrés dans une salle d’attente qui sera modélisée par une liste chaînée de patients. Une secrétaire fait entrer les patients ayant un rdv=1 selon leur ordre d’arrivée, ensuite elle fait entrer les autres patients (ceux dont le rdv=0) selon leur ordre d’arrivée aussi.

Définir la structure de données Patient.

Définir la structure de données Cellule.

Définir le type liste comme un pointeur sur la structure Cellule.

Dans une deuxième étape, on vous demande d’écrire les fonctions suivantes :

liste AjoutPatient ( liste tete, Patient P ) , qui permet d’ajouter un nouveau patient à la fin de la liste identifiée par son pointeur tête.

void RendezVous ( liste tete, int *rdv, int *sansRdv ), qui compte et retourne le nombre de patients avec reendez-vous, et le nombre de patients sans rendez-vous.

3. liste SupprimePatient ( list tete ) , qui permet de faire entrer un patient en consultation. Cette opération est effectuée de la manière suivante : s’il n’y a aucun patient avec rendez-vous alors c’est le premier patient de la liste qui est supprimé. Sinon on supprime le premier patient qui a un rendez-vous.

4. void ConsulterSalleAttente ( liste tete ) , qui affiche tout d’abord les patients avec rendez-vous, ensuite les patients sans rendez-vous.

Exercice 6

Dans un atelier les travaux soumis sont caractérisés par un Numéro (entier), un Code Opération (chaine de caractères), et un Temps Opératoire (entier).

On se propose de représenter la liste des travaux sous forme d’une liste chaînée. Pour faciliter l’exécution des travaux et minimiser le temps de préparation des machines. Les travaux de même nature (possédant le même Code Opération) doivent se présenter en séquence (les uns après les autres).

1. Définir la structure de données Travail. Définir la structure de données Cellule.

Définir le type liste comme un pointeur sur la structure Cellule.

Il s’agit de développer en C les fonctions de manipulation de la liste des travaux:

2. liste creerListe ( liste L ): initialise la liste à vide

3. liste ajouter ( liste L, Travail T ): Ajoute un travail à la liste des travaux. Si la liste contient déjà des travaux de même nature, le travail doit être ajouté au début de la séquence

4. liste supprimerOp ( liste L,char CodeOp[] ): permet de supprimer le premier élément d’une séquence de la liste des travaux.

5. int chercherSequence ( liste L,char CodeOp[] ): permet de retourner le nombre total des travaux dans la séquence qui a le code opératoire passer en paramètre.

6. liste supprimerSequence ( liste L,char CodeOp[] ): permet de supprimer tous les éléments d’une séquence de la liste des travaux.

(3)

Université Cadi Ayyad Programmation II Faculté Polydisciplinaire de Safi Filière SMI (S4)

2019 - 2020

Références

Documents relatifs

(2) En d´ eduire la fonction supprime qui prend en arguments une liste L et un nombre n et supprime le premier ´ el´ ement de la liste ´ egal ` a n... Avec la fonction random

FORMATEURS LETTRES LYCEE PRESENTIEL Désignée. 19A0250425 ENSEIGNER L'ORTHOGRAPHE

In 8 carré broché, couverture illustrée, catalogue de l'exposition Le Corbusier à Lyon en 1956 organisée sous l'égide du syndicat d'initiative de Lyon.. Deuxième

4 - Cherche et recopie la définition des mots suivants dans le dictionnaire (s’il y en a plusieurs, ne copie que la première).. obscurité sou

Donner des exemples. b) Écrivez un programme Python qui donne le plus grands de 3 nombres saisis au clavier c) Ecrire un programme qui permet de saisir un entier n et

Ecrire un programme qui permet de saisir 4 float, a,b,c,d et de construire deux nombres complexes x et y, puis d’afficher la somme et le produit de

Décrivez les mesures qui ont été prises pour assurer la plus large participation possible des communautés, des groupes et, le cas échéant, des individus ainsi que

Cet aperçu également mis à la disposition du public pour consultation en ligne, avec les rapports reçus dans la langue dans laquelle ils ont été soumis par les États