Vous êtes sur la page 1sur 5

Faculté 

 Electronique et Informatique                                                                USTHB 2015/2016 
Département  Informatique 
Module PSD (LMD M/I) 
 
Série N° 2 :  Les fichiers 
 
EXERCICE  1​
 :   
Soit le fichier NOMBRES.BIN qui contient une liste de nombres entiers. Écrire un algorithme qui 
affiche les nombres du fichier, leur somme et leur moyenne. 
EXERCICE  2​
 :   

1) Écrire  un algorithme qui crée le fichier MOTS.TXT contenant  une série de 50 mots au maximum 


(longueur  maximale  d'un  mot:   20   caractères).  La  saisie  des mots se terminera à l'introduction du 
symbole ​ '*'​
 qui ne sera pas écrit dans le fichier. 
2) Ajouter  les  instructions  qui  affichent  le nombre de mots ainsi que la longueur moyenne des mots 
contenus dans le fichier MOTS.TXT.  
3) Ajouter  les  instructions  qui  chargent  les  mots  du  fichier  MOTS.TXT dans un tableau de chaînes 
de  caractères,  cherchent  les  mots  de  plus  de  10  caractères  et  les  écrivent  dans  un  deuxième 
fichier MOTS10.TXT. 

EXERCICE  3​  :   
 
Soit un ensemble de notes d’une section ne dépassant pas 150 étudiants. Chaque étudiant regroupe 
les notes de 3 matières. 
1) Enregistrer ( stocker ) ces étudiants avec leurs notes dans un fichier séquentiel ; 
2) Ecrire un algorithme qui permet de générer, à partir du fichier précédent,  le fichier des étudiants 
admis (ayant une moyenne > = 10).  Puis, il affiche le résultat de ces étudiants. 
 
EXERCICE  4​  :   
 
Considérons le type enregistrement suivant : 
Type   Etudiant = Enregistrement 
Matricule : entier ; 
Nom, Prenom : chaine [20] ; 
Moyenne : réel ; 
        Fin; 
T​
Soit ​  un tableau d’au plus 100 étudiants.  
Ecrire  un  algorithme permettant de recopier tous les étudiants admis appartenant à ​ T dans un fichier 
ADMIS​  de type étudiant. Un étudiant est admis si sa moyenne est supérieure ou égale 10. 
 
EXERCICE  5​  :   
 
On s’intéresse à la gestion des véhicules d’un parc auto. Chaque véhicule est caractérisé par un 
matricule, une marque, un modèle, une couleur, le nombre de places, une puissance fiscale et l’état 
du véhicule. 
 
1) Donner l’enregistrement permettant de décrire un véhicule ; 
2) Décomposer  le  matricule  en  ses  composants  élémentaires  puis   donner  la  nouvelle 
structure de l’enregistrement ;  
3) Ecrire un algorithme qui permet de : 
a) stocker les informations du parc auto dans un fichier (FPARC.DAT) ; 
TD FichiersPage 1  
 
b) établir  la  liste  (matricule,  marque,  modèle,  puissance)  des  véhicules  d’une  couleur 
donnée ; 
c) établir  un  tableau  statistique  contenant  le  nombre  de  véhicules  immatriculés  par  
wilaya ; 
d) établir l’âge moyen du parc auto des voitures non immobilisées. 
 
EXERCICE  6​  :   
 
Considérons les enregistrements suivants : 
Type  Date = Enregistrement 
         Jour, mois, annee : entier ; 
           Fin; 
Adresse = Enregistrement 
Numero : entier ; 
Rue : chaine [50] ; 
Ville : chaine [20] ; 
Wilaya : chaine [20] ; 
Cw : entier ; 
                  Fin; 
Habitant = Enregistrement 
Nom, prenom : chaine [20] ; 
Date_naiss : date ; 
Residence : Adresse ; 
         Fin; 
 
Ecrire un algorithme permettant de : 
 
a) Créer le fichier des habitants (Fhabit.dat), et, de saisir un échantillon d’habitants ; 
b) Afficher  à  partir  de  ce  fichier  les  adresses  des  habitants  nés   avant  une  année  de  naissance 
donnée ; 
c) Afficher  les  noms  et  les  dates  de  naissance  des  habitants  de  la  ville  de   ‘zemmouri‘  de  la 
wilaya de ‘Boumerdes‘ ; 
d) Sauvegarder  les  habitants   de  chaque  wilaya  dans  un  fichier propre (ex fichier (W16.dat) pour 
les habitants d’Alger,  fichier (W31.dat) pour les habitants d’Oran, ….).   
 
EXERCICE  7​  :   
 
1) Soient  F1  et  F2  deux  fichiers  d’entiers  strictement  positifs  et  sans  répétition.  Ecrire  un 
algorithme qui construit (crée) un fichier  G d’entiers  tel  que G contient  pour  chaque valeur de 
F1 la valeur et tous ses multiples appartenant à F2 (F1 et F2 sont supposés existants). 
 
Exemple : 
 
3​
F1 :   ​     ​
10​     ​
20​    ​
17 
F2 :   3     6   19   60    40    30 
3​
G  :   ​ 3​
    ​     ​
6    60    30  ​  ​
10​
   ​  ​
60   40   30   ​20​
    ​
60    40   ​
17 
  
2) Ecrire  un  algorithme  qui  permet à  partir du  fichier  résultat (G)  de générer un autre fichier (H) 
contenant toutes les valeurs du fichier (G) (sans répétition) avec leur nombre. 
 
Exemple : 
 
TD FichiersPage 2  
 
2​
H :    3  ​ 1​
        6  ​ 3​
        60  ​ 2​
        30  ​ 1​
        10  ​ 2​
        40  ​ 1​
        20  ​        17  ​

 
 
EXERCICE  8​  :   
 
Soit F un fichier d’entiers représentant des séquences de nombres séparées par un ou plusieurs zéro. 
Ecrire un algorithme qui réalise les traitements suivants : 
1) A  partir   de  F  (fichier  existant),  crée  un  fichier  G  contenant  pour  chaque  séquence,  la 
moyenne des nombres qui la constituent. 
2) Puis, Supprimer les valeurs nulles du fichier G. 
 
Exemple : 
 
F :  0  0  ​
1   4   3   7​
   0   0   0   ​
6   ­9   2   7   ­6​ ­​
   0   ​10   3​
  0   0 
G :                 ​
3,75​
                            ​
0,00​
                  ­​
3,50 
G :                 ​
3,75                                                     ­3,50 
 
EXERCICE  9​  :   
 
Soit  F1  un  fichier  de  caractères  contenant  une  suite  de  télégrammes.  Chaque  télégramme  est 
constitué  d’une  suite  de   mots  séparés  par  un  ou  plusieurs  blancs  (^).  Le télégramme se termine par 
le mot ​ ‘FINTEL’ 
Ecrire  un  algorithme  qui  permet,  pour  chaque  télégramme,  d’imprimer  le  texte,  en  respectant  les 
conventions suivantes : 
a) les mots imprimés seront séparés par un seul blanc. 
b) Les mots ne peuvent dépasser 12 caractères sinon ils seront tronqués à droite. 
c) Le  texte  de  chaque  télégramme  est  suivi  de  l’indication  du  nombre   total  de  mots  (tronqués 
ou non) et le nombre de mots tronqués. 
d) La fin de chaque télégramme sera indiquée par ‘FINTEL’. 
 
EXERCICE  10​  :   
 
1­ Ecrire une procédure qui supprime le dernier élément du fichier F de nombre entiers. 
2­ En utilisant la procédure précédente, écrire un algorithme pour vider un fichier F existant de 
nombre entiers et de nom physique ‘ESSAI.DAT’, élément par élément. Cet algorithme devra 
afficher,  après la suppression de chaque élément, la moyenne des éléments restants de F. 
 
 
EXERCICE  11​  :   
 
Soit deux vecteurs T1 (N<=50) et T2 (N<=100) d’entiers triés dans l’ordre croissant. Ecrire un 
algorithme qui fusionne les deux vecteurs T1 et T2 dans un fichier. Le fichier doit être trié dans 
l’ordre croissant 
 
EXERCICE  12​  :   
 
ère​ ème​
Soient deux fichiers F1 et F2 regroupant les étudiants de la 1​  année et de la 2​  année 
respectivement. Un étudiant est identifié par son matricule, et, les deux fichiers sont triés suivant 
l’identificateur (matricule). 

TD FichiersPage 3  
 
ère​ ème​
Sachant qu’un étudiant peut être inscrit en 1​  année, en 2​  année ou dans les deux années avec 
dettes. 
Ecrire un algorithme qui fusionne les deux fichiers F1 et F2 dans un troisième fichier F12. 
 
 
   

TD FichiersPage 4  
 
EXERCICE  13​  :   
 
Soient F1 et F2 deux fichiers de chaînes de caractères. Chaque chaîne représente un mot. Ecrire un 
algorithme qui construit un fichier F3, tel que F3 contient les mots de F1 qui n’existent pas dans F2. 
 
EXERCICE  14​  :   
 
Soit le type suivant : Type    Produit  =  Enregistrement 
Code :  Entier ; 
Désignation : Chaîne [ 80 ] ; 
Prix : Réel ; 
       Fin ; 
 
Soit F un fichier de produits. Ecrire une fonction qui vérifie si les éléments de F sont triés par ordre 
croissant de leur Code. 
 
EXERCICE  15​  :   
 
Ecrire un algorithme qui permet de trier un fichier d’entiers dans l’ordre croissant des nombres : 
1) maintenir les doublons (avec duplication), 
2) supprimer les doublons (sans duplication). 
 
 

TD FichiersPage 5  
 

Vous aimerez peut-être aussi