Vous êtes sur la page 1sur 2

UNIVERSITE HASSAN II AÏN CHOCK Année Universitaire : 2014-2015

Faculté des Sciences

ModuleUH2@FSAC
: PROGRAMMATION 2 Examen 2eme SEMISTRE Durée : 1H30
Enseignant
Professeur : R. DEHBI Semestre
Programmation 2 :4 2014/2015 Filière :SMIA
Pr R.Dehbi

Partie I : Questions de cours (5 points)

1) Remplissez le tableau suivant par l’emplacement de la déclaration de chaque type de


variable, sa portée ainsi que sa classe d’allocation. (1 point)

Type de variables Déclaration Portée Classe d’allocation


Globale

Globale cachée

Locale «rémanente»

Locale à une fonction

Locale à un bloc

2) Choisir et ordonner les processus de la compilation séparé dans le langage de


programmation C.
a. Edition des liens (Linker)
b. Processing (processeur)
c. Préprocesing (préprocesseur)
d. Compilation (compilateur)

3) Choisir et ordonner les étapes de l’allocation dynamique d’un tableau de structure de n


Personnes:
a. ListPers= Malloc(n* sizeof(Personne));
b. Personne* ListPers ;
c. Free(ListPers) ;
d. Malloc(n* sizeof(Personne)) ;

4) On veut accéder en lecture et écriture à un fichier, avec suppression du contenu au


préalable. Le fichier est donc d'abord vidé de son contenu, vous pouvez y écrire, et le lire
ensuite. Si le fichier n'existe pas, il sera créé. Quel est le mode d’ouverture qu’on doit utiliser.
a. "a"
b. "w"
c. "r+"
d. "w+"

1/2
5) On veut exporter et/ou importer depuis un tableau de structure vers des fichiers textes
formatés. Quel les sont les fonctions d’accès en lecture /écriture qu’on doit utiliser.
a. fputs, fgets
b. fprintf, fscanf
c. fwrite, fread
d. fputc, fgetc

Partie II : Gestion d’une bibliothèque (15 points)

On souhaite gérer une bibliothèque contenant plusieurs adhérents. Chaque adhérant est définie
par :
• un nom.
• un numéro.
• Nombre de livres effectifs empruntés.
• Liste de livres empruntés.

Chaque adhérent a le droit d’emprunter au maximum 3 livres. Un livre est défini par un titre,
un auteur et le nombre de page.

1- Définir les structures Livre et Adhérent pouvant contenir ces informations. (1 point)
2- Définir une nouvelle structure qui va représenter la bibliothèque. Cette structure
bibliothèque contiendra un tableau de 20 Adhérents et un compteur indiquant le
nombre des Adhérents dans le tableau. (1 point)

Ecrire les fonctions permettant de:

3- Saisir un certain nombre d’adhérent dans la bibliothèque. (seulement le nom et le


numéro d’adhérent qui vont être sauvegardé dans la bibliothèque, la saisie des livres
empruntés n’est pas prise en compte). (1,5 point)
4- Emprunter un livre par un adhérent. L’adhérent est identifié par son numéro
d’adhésion. (Explication : La fonction permet d’ajouter des livres à la liste des livres
empruntés par un adhérent, NB : ne pas dépasser 3 livres par adhérent). (1,5 point)
5- Afficher tous les adhérents de la bibliothèque avec leurs livres empruntés. (1,5 point)
6- Afficher les informations sur les livres empruntés par un adhérent dont le nom est
passé comme paramètre à la fonction. (1,5 point)
7- Retourner un livre à la bibliothèque (le numéro de l’adhérent et le titre du livre sont
passés comme paramètre à la fonction). (2 points)
8- Exporter la bibliothèque dans un fichier texte. (1,5 point)
9- Importer la bibliothèque depuis le fichier texte de la question précédente. (1,5 point)
10- Afficher un menu interactif pour accéder aux différentes fonctionnalités du
programme. (2 points)

2/2

Vous aimerez peut-être aussi