Vous êtes sur la page 1sur 3

Professeur Abdelkader BARRAJ 4SI - Programmation

II/Les Fichiers :

1- Présentation du problème
Les structures de données utilisées jusqu’à présent (…………………………………………………
…………………………………………………………..) ne peuvent pas garder les données de façon
permanente c’est-à-dire une fois on redémarre l’ordinateur les données seront ………………………
Pour garder les données de façon permanente, il faut utiliser une nouvelle structure qui s’appelle
……………………………………
2- Définition :

Un Fichier Est une structure de données pouvant sauvegarder


les données de façon permanente (≠temporaire).

1. En programmation, on distingue deux types de fichiers :


• Les fichiers ………………………………………..
• Les fichiers ………………………………………..
2. Un fichier possède deux noms : un nom …………………… et un nom ……………………..
3. Chaque fichier doit être enregistré sur un support de stockage physique (disque dur, flash, …)

3- Les fichiers texte :


3.1 / Déclaration algorithmique d’un fichier texte:
En algorithmique Exemple
Tableau de Déclaration des Objets TDO
Objet Type / nature Objet Type / nature
Nom_logique Texte F Texte

Mode d’ouverture :
• "r" : …………………………………………….…….
3.2 / Commandes de manipulation d’un fichier texte: • "w" : ………………………………………………….
• Ouverture : • "a" : …………………………………………….…….

En algorithmique En python
Ouvrir("chemin\nom_physique", nom_logique,"mode") nom_logique=open(" chemin\nom_physique ", "mode")

Exemple : Exemple :
Ouvrir("travail.txt", F ,"w") ………………………………………………….

• Fermeture :
En algorithmique En python
Fermer(nom_logique) nom_logique.close()
Exemple : Exemple :
Fermer(F) ……………………………..

C.R.E Mahdia - Lycée Souassi 1


Professeur Abdelkader BARRAJ 4SI - Programmation

• Lecture :

En algorithmique En python
Lire (nom_logique, ch) ch=nom_logique.read()

Exemple : Exemple :
Lire(F, ch) ………………………………………………
Lecture de la totalité d’un fichier

En algorithmique En python
Lire_ligne (nom_logique, ch) ch=nom_logique.readline()

Exemple : Exemple :
Lire_ligne(F, ch) …………………..………………………………

Lecture d’une seule ligne du fichier et placer le curseur sur la ligne suivante

• Ecriture :
En algorithmique En python
Ecrire (nom_logique, ch) nom_logique.write(ch)
Ecriture de la chaine ch sans retour à la ligne
Exemple : Exemple :
Ecrire(F, ch) F.write(ch)
Ecriture de la chaine ch puis retour à la ligne
F.write(ch + "\n")

Après la lecture ou l’écriture d’une ligne le pointeur interne (curseur) du fichier …………….….
automatiquement vers la ligne suivante.

• Test de Fin de fichier : Retourne Vrai si le pointeur est à la fin du fichier sinon elle retourne Faux.
En algorithmique En python
Fin_fichier (nom_logique,)

Exemple : Pas de correspondance


Fin_fichier(F)

Exercice 1 :
On vous demande de remplir un fichier nommé physiquement C:\Liste.txt et logiquement F par N
entiers positifs de 3 chiffres chacun (avec 5 <N < 20) . Puis d’afficher tous les entiers
cubiques qui se trouvent dans le fichier F.

Sachant qu’un entier naturel est dit cubique s’il est égal à la somme des cubes de ses 3 chiffres :
Exemple d’entiers cubique : 153 = 13+53+33 (407 est un entier cubique)
Travail à faire :
1- Donner l’algorithme du programme principal et n’oublier pas de déclarer les différentes structures
de données nécessaires pour résoudre ce problème.
2- Faire les algorithmes des différents modules envisagés ainsi que les TDOLs si nécessaire.

1- Lorsque les opérations sur un fichier sont terminées, il faut le fermer en utilisant la
commande : Fermer(nom_logique).
2- En python on peut utiliser la commande suivante qui ferme le fichier automatiquement après
utilisation : with open (" chemin\nom_physique ", "mode") as nom_logique
Exercice 2 :
Pour sécuriser l'envoi de messages, deux chercheurs cryptent leurs messages en utilisant une clé
de cryptage selon le principe suivant :

Remplacer chaque lettre du message msg d'indice i par la lettre minuscule d'ordre
alphabétique k sachant que :
 k =ABS (ord(msg[i]) – ord(cle[i])) + 1
 L'espace ne sera pas crypté.
Exemple : soit le message suivant : "bonne reception" et soit la clé "homeofhappiness"

Message : b o n n e r e c e p t i o n
La clé de cryptage : h o m e o f h a p p i n e s s
Message crypté : g a b j k k e n l h g e e f
En effet :
 La lettre "b" sera remplacé par la lettre d’ordre alphabétique k =ABS (ord("b") - ord("h")) + 1
qui est "g".
En effet, k = ABS (98-104) +l = 7 qui est l'ordre alphabétique de la lettre "g".
 La lettre "o" sera remplacé par la lettre d’ordre alphabétique k =ABS (ord("o") - ord("o")) + 1
qui est "a".
En effet, k = ABS (111-111) +1 = 1 qui est l'ordre alphabétique de la lettre "a".
etc.
Sachant que :
- Le message à crypter msg, est composé par des lettres minuscules et des espaces
- La clé de cryptage cle est une chaîne formée uniquement par des lettres minuscules et
ayant la même longueur que le message à crypter.
Ecrire un programme permettant de réaliser les taches suivantes :
1) Saisir une clé valide
2) Remplir le fichier « message.txt » par n messages valides (n compris entre 2 et 10) à raison d’un
message par ligne.
3) En utilisant le principe ci-dessus, Crypter les messages se trouvant dans le fichier « message.txt »
dans un autre fichier « cryptage.txt ».
4) Afficher le continue du fichier « cryptage.txt »

Exercice 3 :
On désire faire un programme Pascal intitulé PALINDROME qui permet de:
1- Remplir un fichier texte D:\mots.txt par des chaînes de caractères à raison d’une chaine par ligne.
(La saisie s’arrête une fois la réponse à la question ''autre saisie O/N ? '' est ''N'' ou ''n'' ). Sachant que
chaque chaine de caractères doit être non vide et formée au maximum par 7 caractères.
2- Afficher toutes les chaines palindromes qui se trouvent dans le fichier D:\mots.txt
Remarque :
Une chaine palindrome est une chaine qui peut être lue de droite à gauche ou de gauche à droite.
Exemple de chaines palindromes : radar, AzizA, sos, (2+2) ….

Vous aimerez peut-être aussi