Royaume du Maroc
Université Cadi Ayyad
Faculté des Sciences Semlalia
Marrakech
Algorithmique II
Pr. Ilyass OUAZZANI TAYBI
E-mail : [email protected]
Département : Informatique FSSM
Université Cadi Ayyad
Filière TC-INFO S2
Année universitaire : 2024/2025
Plan du cours
❑ Rappel (Algorithmique I)
❑ Tableaux
❑ Fonctions et procédures
❑ Récursivité
❑ Algorithmes de tri
❑ Pointeurs et Enregistrements
❑ Fichiers
❑ Complexité algorithmique
Pr. Ilyass OUAZZANI TAYBI Faculté des Sciences Semlalia - Marrakech 2
Plan du cours
CHAPITRE 6 : FICHIERS
1.Introduction
2.Type de fichiers
3.Type d’accès aux fichiers
4.Traitement séquentiel des fichiers texte
Pr. Ilyass OUAZZANI TAYBI Faculté des Sciences Semlalia - Marrakech 3
VI. Fichiers
1. Introduction
➢ Jusqu’à présent, les données utilisées dans nos algorithmes (programmes) ne pouvaient
provenir que de deux sources :
➢ Soit elles étaient incluses dans l’algorithme lui-même (e.g. a 5).
➢ Soit elles étaient entrées par l’utilisateur.
➢ Cependant, cela ne suffit pas pour répondre aux besoins réels.
4
VI. Fichiers
1. Introduction
Solution :
➢ Les fichiers sont là pour résoudre ce problème. Ils servent à stocker des données sur un
support de stockage (disque dur, CD Rom, etc.) de manière permanente pour les réutiliser
ultérieurement.
Définition :
➢ Un fichier est une collection d'information structuré, toujours conservé sur un support de
stockage permanent.
5
VI. Fichiers
2. Type de fichiers
➢ Le critère important qui différencie les fichiers est la façon dont les informations sont
organisées sur ces derniers.
➢ On distingue deux types de fichiers :
➢ Les fichiers textes;
➢ Les fichiers binaires.
6
VI. Fichiers
2. Type de fichiers – Fichiers textes –
➢ Un fichier texte est formé de caractères ASCII(ou Unicode), organisé en ligne, chacune se
termine par un caractère de contrôle de fin de ligne.
➢ Si chaque ligne contient le même genre d'informations, les lignes sont appelées des
enregistrements.
➢ Par exemple, prenons le cas des données d’étudiants, le fichier est destiné à stocker : nom,
prénom, date de naissance, CNE, filière de chaque étudiant. Dans ce cas, les informations
concernant un étudiant donné doivent être stockées sur une seule ligne.
➢ Les fichiers texte peuvent être crées avec des éditeurs de texte et affichés de manière lisible à
l'écran.
7
VI. Fichiers
2. Type de fichiers – Fichiers binaires –
➢ Un fichier binaire contient des données non textuelles. Il n'est pas organisé sous forme
d'enregistrement. Les fichiers binaires ne prennent sens que s'ils sont traités par un
programme adapté. Par exemple un fichier son, une vidéo, une image, un programme
exécutable, etc.
➢ Dans les fichiers binaires, les données sont écrites à l'image exacte de leur codage en
mémoire. Ceci facilite l'accès à ce type de fichier et le rend rapide.
8
VI. Fichiers
3. Type d’accès aux fichiers
➢ Le type d'accès est la technique que la machine doit suivre pour aller chercher les
informations contenues dans un fichier.
➢ On distingue trois types d'accès aux fichiers :
➢ L'accès séquentiel
➢ L'accès direct
➢ L'accès indexé
9
VI. Fichiers
3. Type d’accès aux fichiers – L'accès séquentiel –
➢ Cet accès consiste à traiter les informations séquentiellement, c'est à dire dans l'ordre où elles
apparaissent dans le fichier.
➢ On ne peut donc accéder à une information qu'en ayant au préalable examiné celle qui la
précède.
10
VI. Fichiers
3. Type d’accès aux fichiers – L'accès séquentiel –
➢ Le schéma suivant montre le principe de parcours d'un fichier à accès séquentiel.
Remarques :
➢ La fin du fichier est repérée par un marqueur de fin du fichier (EOF : End Of File).
➢ Pour ajouter une information, il faut que la tête de lecture/écriture se place en face du
marqueur de fin de fichier.
11
VI. Fichiers
3. Type d’accès aux fichiers – L'accès direct –
➢ Ce type d'accès consiste à se placer directement sur l'information souhaitée sans parcourir
celles qui la précèdent, en précisant la position de l'élément recherché.
➢ L'indication d'un numéro permet donc un accès direct et rapide à l'information ainsi
référencée.
12
VI. Fichiers
3. Type d’accès aux fichiers – L'accès indexé –
➢ Ce type d'accès combine la rapidité de l'accès direct et la simplicité de l'accès séquentiel. Il est
particulièrement adapté au traitement des gros fichiers, comme les bases de données.
➢ Le principe est de créer des fichiers supplémentaires d'index.
13
VI. Fichiers
4. Traitement séquentiel de fichiers texte – Ouvrir un fichier texte –
➢ Lorsqu'on désire accéder à un fichier, il est nécessaire avant tout accès, d'ouvrir le fichier.
Syntaxe :
Ouvrir Nom_du_fichier en NumCanal en Mode;
➢ Nom_du_fichier : c'est le nom physique du fichier
➢ NumCanal : c'est le nom logique du fichier. Pour ouvrir un fichier, il faut lui allouer un numéro
du canal valide et disponible.
➢ Mode : le mode d'ouverture du fichier conditionne le travail qui peut être effectué sur son
contenu. Il existe trois modes d'ouverture du fichier texte :
➢ Lecture : permet d'ouvrir le fichier en lecture seul.
➢ Écriture : indique son accès en écriture. Dans ce mode, un nouveau fichier est toujours
créé. Si le fichier existe déjà, il est réinitialisé à vide et son contenu précédent est perdu.
➢ Ajout : permet d'ajouter des données à un fichier existant en conservant le contenu
précédent.
14
VI. Fichiers
4. Traitement séquentiel des fichiers texte – Ouvrir un fichier texte –
Exemple 1 :
Ouvrir "fiche1.txt" en 1 en Lecture;
➢ Cette instruction ouvre le fichier fiche1.txt en lecture seule. Le fichier à comme nom physique
fiche1.txt et comme nom logique 1.
Exemple 2 :
Ouvrir "fiche2.txt" en 2 en Ecriture;
➢ Cette instruction ouvre le fichier fiche2.txt en écriture. Le fichier à comme nom physique
fiche2.txt et comme nom logique 2.
15
VI. Fichiers
4. Traitement séquentiel des fichiers texte – Lire et écrire dans un fichier –
➢ Soit un fichier texte contenant des données organisées dans des enregistrements.
Champs Nom Prenom CNE Filiere
Enreg 1 Mohammadi Ahmed 27125486 TC INFO
Enreg 2 Alaoui Asmae 27125874 MIP
Enreg 3 Smaili Karim 28457896 BCG
➢ La lecture et l'écriture dans ce fichier exigent la définition de l’enregistrement suivant :
t_etudiant = Enregistrement
nom : Chaine de caractères;
prenom : Chaine de caractères;
CNE : Chaine de caractères;
filiere : Chaine de caractères;
FinEnregistrement
16
VI. Fichiers
4. Traitement séquentiel des fichiers texte – Lire et écrire dans un fichier –
➢ Après avoir défini l’enregistrement t_etudiant, on peut l'utiliser pour créer une ou plusieurs
variables correspondant à cet enregistrement :
Variable e1, e2, e3 : t_etudiant;
➢ On peut maintenant remplir les différentes informations contenues au sein de la variable e1
de la manière suivante :
e1.nom "Mohammadi";
e1.prenom "Ahmed";
e1.CNE "27125486";
e1.filiere "TC INFO";
17
VI. Fichiers
4. Traitement séquentiel des fichiers texte – Lire et écrire dans un fichier –
➢ Après avoir rempli les différents champs de la variable e1, on peut utiliser cette variable pour
écrire directement dans le fichier ouvert en canal numéro 1.
EcrireFichier 1, e1;
➢ Pour une opération de lecture, il suffit de recopier un enregistrement dans une variable de
type t_etudiant.
LireFichier 1, e2;
Remarques :
▪ Lire un fichier séquentiel de bout en bout nécessite la mise en place d'une boucle. Étant
donné que le nombre d'enregistrements dans le fichier n'est généralement pas connu à
l'avance, on peut faire appel à la fonction EOF (acronyme pour End Of File).
▪ Cette fonction renvoie la valeur Vrai si on a atteint la fin du fichier.
18
VI. Fichiers
4. Traitement séquentiel des fichiers texte – Fermer un fichier texte –
➢ Une fois qu'on a terminé avec un fichier, il ne faut pas oublier de le fermer. On libère ainsi le
canal qu'il occupait.
Syntaxe :
Fermer(Nom_du_fichier);
Ou bien :
Fermer(Num_canal);
Remarque :
▪ Lorsqu'un fichier doit subir plusieurs interventions nécessitant plusieurs ouvertures, il sera
nécessaire de fermer le fichier avant de le réouvrir.
19
VI. Fichiers
Exercice 1 :
Écrire un algorithme qui permet de créer un fichier Etudiants.txt puis de saisir les données d’un
étudiant et de les écrire dans ce fichier.
20
Merci de votre
attention
Pr. Ilyass OUAZZANI TAYBI Faculté des Sciences Semlalia - Marrakech 21
Royaume du Maroc
Université Cadi Ayyad
Faculté des Sciences Semlalia
Marrakech
Algorithmique II
Pr. Ilyass OUAZZANI TAYBI
E-mail : [email protected]
Département : Informatique FSSM
Université Cadi Ayyad
Filière TC-INFO S2
Année universitaire : 2024/2025