Université Mohammed Premier Filière : SMI Semestre : S4
Faculté des Sciences Oujda Année Universitaire : 2023 – 2024
Département d’Informatique Module : Structures de données
TP N° 1 : Concepts de bases
Exercice 1 : Complétez le tableau à la main (sans programmation) en indiquant les valeurs
des différentes variables au terme de chaque instruction du programme suivant :
Instructions a b C *p1 *p2
int a=-2,b=a++,c=--b+2,*p1=&a,*p2=&b;
*p1 = (*p2)+++1 ;
p1 = p2 ;
c*=-*p2 ;
Exercice 2 : Ecrivez un programme qui lit une chaîne de caractères Chaine et qui convertit
toutes les majuscules en des minuscules et vice-versa. Le résultat sera mémorisé dans la même
variable Chaine et affiché après la conversion.
Exercice 3 : Un étudiant est caractérisé par :
✓ Son nom (un tableau de 20 caractères au maximum) ;
✓ Son prénom (un tableau de 20 caractères au maximum) ;
✓ Son CNE (de type entier) ;
✓ Sa date de naissance (de type structuré Date) ;
✓ Ses notes en S3 (un tableau contenant 6 éléments de type réel).
Partie A (Types structurés et initialisation à la déclaration)
1. Définissez le type structuré Date qui contiendra les trois champs de type entier suivants :
jour, mois et annee.
2. Définissez le type structuré Etudiant permettant de représenter un étudiant.
3. Déclarez et initialisez à la déclaration l’étudiant E1 correspondant aux données suivantes :
Nom Prénom Date de naissance CNE Notes S3
Shoul Karim 05/03/2001 2048765 12 14 10 15 13 12
4. Afficher les données des différents champs de l’étudiant E1.
Partie B (Variables structurées et saisie au clavier)
1. Déclarez un nouveau étudiant E2.
5. Demandez à l’utilisateur de saisir au clavier les différents champs de l’étudiant E2.
6. Affichez les informations relatives à l’étudiant E2.
Partie C (Variables structurées et affectation par bloc)
1. Déclarez une variable structurée E3 de type Etudiant, puis affectez lui les données de
l’étudiant précédent E1.
2. Afficher l’étudiant E3.
Exercice 4 :
1. Ecrivez la procédure void creerEtudiant(Etudiant *E) qui invite l’utilisateur à saisir au
clavier les données de l’étudiant E reçu en paramètre.
2. Ecriez la procédure void creerTableauEtudiants(Etudiant *t , int n) qui invite l’utilisateur
à saisir au clavier les données des n étudiants contenus dans le tableau t,
3. Ecrivez la fonction float CalculerMoyS3(Eudiant *E) qui renvoie la note moyenne du
semestre S3 de l’étudiant.
4. Ecrivez la procédure void afficherEtudiant(Etudiant *E) qui affiche les caractéristiques de
l’étudiant E (y compris sa moyenne au semestre S3).
5. Ecriez la procédure void afficheTableauEtudiants(Etudiant *t , int n) qui affiche les n
étudiants contenus dans un tableau d’étudiants,
6. Testez ces fonctions dans la fonction main().