Académique Documents
Professionnel Documents
Culture Documents
Durée : 2 h
EXAMEN
Exercice1 : (4 pts) Questions de cours
1. Quelle est la différence entre le passage par valeur et le passage par adresse.
2. Donner la déclaration dynamique d’un tableau d’entiers à deux dimensions (L*C).
3. Donner les différentes possibilités d’initialisation d’un pointeur.
4. Que signifie les instructions suivantes :
typedef struct {
int ID; // identifiant de chaque stage
char TITRE [50]; // Titre de stage
DATE Date_debut // Date de début de stage
DATE Date_fin // Date de fin de stage
int CNE ; // Code de l’étudiant stagiaire
char Nom_sagiaire [20]; // Non Stagiaire
char Nom_societe [20]; // Nom de la société lieu de stage
char Domaine [20]; // (Réseaux, Développement, Base de données)
} Stage;
1
Université Sultan Moulay Slimane Département d’Informatique
FST – Beni Mellal Module : Alg & prog 2
Filière : MIPC (S3)
5. Créer une fonction void trierParTitre (Stage Liste [ ], int N) permettant d’afficher
les stages triés par ordre alphabétique des Titres en utilisant le tri par insertion.
6. Créer une fonction void trierParCNE (Stage Liste [ ], int N) permettant d'afficher la
liste des stages triés par ordre décroissant en utilisant le tri par bulle.
7. Donnez la fonction Stage * dureStage (Stage Liste [ ], int N) qui retourne un tableau
de structures concernat les stages dont la durée dépasse six mois.
Exemple :
ID// titre
//date_debut//date_fin//CNE//Nom_stagiaire//Non_societe//Domaine
…….
…….
9. Suposons que le fichier « stage.txt» contient les données de tous les stages contenu
dans la table Liste. Écrivez une fonction Stage recherch_identifiant (int ID),
permettant à partir du fichier « stage.txt», de retrouver les informations relatives à un
ID donné.