CYCLE PREPARATOIRE AUX ETUDES D’INGENIEUR – 1ère ANNEE
TP2 : STRUCTURES DE DONNEES
Exercice 1
Déclarer une variable P ayant les informations suivantes:
Nom (chaîne de caractères)
Prénom (chaîne de caractères)
Date de naissance: Jour (entier), Mois (entier) et Année (entier)
Matricule (chaîne de caractères)
Remplir P avec les informations suivantes: Nom: "Amer" Prénom: "Salem" Date de
naissance: "03/04/2005" Matricule: "A32"
Exercice 2
Réaliser une structure point définit par ses coordonnées (Abscisse et Ordonné).
1. Créer les fonctions suivantes:
Saisir() : permettant de saisir un point.
Afficher() : permettant d’afficher un point.
Deplacer() : permettant de déplacer un point avec un déplacement dx
horizontalement et dy verticalement.
Milieu() : permettant de retourner le point milieu entre deux points.
2. Créer un programme un programme principale permettant de:
Définir deux points A (6.5,2.3) et B (-9,8.5).
Déplacer B de 3 horizontale et 8 verticale.
Afficher le point milieu entre A et B.
Exercice 3
Une bibliothèque est composée d’un ensemble de livres, chaque livre est caractérisé
par un code numérique, un titre et le nom de l’auteur.
Les livres peuvent être empruntés aux étudiants.
1. Créez la structure de données « Livre ».
2. Ecrire une fonction permettant d’afficher les livres empruntés.
Page 1 (3)
Travaux pratiques
Exercice 4
La chambre d’agriculteur désire faire des statistiques sur les éleveurs de moutons.
Elle dispose pour chacun des N éleveurs (N donné) de :
son nom,
son nombre de brebis,
son nombre de béliers,
son nombre d’agneaux.
1. Proposer une structure pour représenter un éleveur.
2. Écrire une fonction Saisir_Eleveur qui permet de saisir un tableau de N éleveurs.
3. Écrire une fonction Info_eleveur qui permet d’afficher pour chaque éleveur :
son nom,
son nombre total d’animaux possédés,
le pourcentage d’agneaux par rapport à l’ensemble des animaux.
4. Écrire une fonction Max_troupeau qui permet d’afficher le nom et le nombre
d’animaux de l’éleveur ayant le plus grand troupeau.
5. Écrire le programme principal faisant appel aux différentes fonctions
précédemment définies.
Exercice 5
On désire définir une structure appelée SPORTIF pour décrire une compétition
sportive de course. Sachant qu’un sportif est caractérisé par :
- un nom et prénom
- son pays
- sa date de naissance
- sa performance dans la course, définie en secondes
1. Définir et déclarer la structure SPORTIF.
2. Ecrire une fonction SaisiSport qui permet de lire un tableau T_SPORT de N
éléments de type SPORTIF.
3. Ecrire une fonction TriSport qui permet de trier le tableau T_SPORT selon la
performance des sportifs dans l’ordre croissant.
4. Ecrire une fonction AffichSport qui permet d’afficher les noms, prénoms et pays
des trois vainqueurs qui vont recevoir les médailles d’or, d’argent et de bronze.
Exercice 6
Dans un supermarché un produit est caractérisé par son code à barre (50 chiffres),
son nom (20 caractères) et son prix.
Un caissier caractérisé par son identifiant (30 caractères) son nom (20 caractères)
et l’ensemble des produits vendus pendant la journée (tableau de 100 produits) doit
enregistrer les produits achetés par les clients et indiquer le solde de sa caisse à la
fin de la journée.
1. Définir la structure de données « Produit »
Page 2 (3)
Travaux pratiques
2. Définir la structure « Caissier ».
3. Ecrire une fonction AfficherProduit permettant d’afficher un produit.
4. Ecrire une fonction VendreProduit permettant de vendre un produit par un
caissier.
5. Ecrire une fonction ListeProduits qui permet d’afficher la liste des produits
vendus par le caissier.
6. Ecrire une fonction SoldeCaisse qui retourne le solde final de la caisse à la fin
d’une journée (la somme des prix des produits vendus par le caissier)
7. Ecrire une fonction ChangerPrix permettant de changer le prix d’un Produit.
8. Ecrire une fonction PlusChere qui retourne le produit le plus chère vendue par
le caissier.
9. Ecrire une fonction ChercherProduit permettant de vérifier est ce qu’un produit
a été vendu ou non par le caissier. (recherche suivant le code à barre du produit).
10. Dans le supermarché il existe 10 caissiers, écrire une fonction MeilleurCaissier
permettant de retourner le caissier qui a marqué le plus grand montant de la
caisse à la fin de la journée.
Exercice 7
Un bus est caractérisé par un numéro, un lieu de départ, un lieu d’arrivée, un
horaire de
départ et un horaire d’arrivée. L’horaire est exprimé en (heure /minutes / secondes).
1. Déclarer la structure HORAIRE.
2. Déclarer la structure BUS.
3. Ecrire une fonction SaisirBus un tableau de N éléments de type Bus.
4. Ecrire une fonction AffichBus qui permet d’afficher les numéros des bus qui
partent d’une ville VI1 à la direction d’une ville VI2, entre deux horaires donnés
5. Ecrire une fonction AfficheHeureArriv qui permet d’afficher l’heure d’arrivée d’un
bus sachant son numéro, son lieu et heure de départ et son lieu d’arrivée.
6. Ecrire un programme principal main() qui permet de :
a. Lire les informations de 10 bus.
b. Afficher les bus qui partent de Nabeul vers Tunis entre 12h 15mn 00s et
15h20mn 00s.
Afficher l’heure d’arrivée du bus numéro 5150 partant de Sousse vers Tunis à 15h
30mn 00s
Page 3 (3)