1 ALGORITHME - PETEY CHAPITRE V : TYPE DE DONNEES STRUCTUREES, LES FICHIERS I.

1 ALGORITHME - PETEY CHAPITRE V : TYPE DE DONNEES STRUCTUREES, LES FICHIERS I. TYPE DE DONNEES STRUCTUREES I.1 Vecteur ou tableau à une dimension Un tableau est un ensemble de zones contigües contenant des valeurs de mêmes types. Chaque zone est repérée et identifiée par un ou plusieurs indices. I.2 Tableau à plusieurs dimensions Un tableau à N dimensions est une structure contenant des éléments de mêmes type, dans laquelle chaque élément est repéré par N indices. Exemple : Note[1..30,1..8] : Réel I.3 Ensembles Une variable de type ensemble peut prendre pour valeur une , plusieurs ou toutes les valeurs de son type. Exemples : Type chiffre, pair, impair =Ensemble de 1..9 Acier = Ensemble de (Fer, Chrome, Nickel, Etain) I.4 Type énuméré C’est un ensemble de données ordonnées. C’est un ensemble dans lequel on énumère tous ces éléments dans un ordre donné. Ce n’est pas véritablement une structure de donnée. Exmple : Type Day=(Lundi, mardi,mercredi,jeudi,vendredi,samedi,dimanche) 2 ALGORITHME - PETEY I.5 Enregistrement Une variable de type enregistrement contient plusieurs CHAMPS, de différents types. Exemple : Type cuve =Enregistrement numero : Entier volume : Réel vide: booléen Fin enregistrement II. LES FICHIERS Un fichier est un ensemble de données. Il peut servir soit à la lecture, pour rentrer des informations dans un programme , soit à l’écriture pour sauvegarder les résultats obtenus. Les fichiers sont caractérisés par deux notions : • le mode d’organisation : comment sont organisées les données dans le fichier (séquentiel, indexé,...) ; • le mode d’accès : comment sont accédées les données dans le fichier (séquentiel, direct...). Ces caractéristiques sont étroitement liées aux langages de programmation utilisés. Chacun de ces derniers offre différents types de fichiers. En algorithmique, nous nous limiterons par souci de facilité aux fichiers texte et aux fichiers d’enregistrements. L’utilisation d’un fichier se fait selon les phases suivantes : ♦ Ouverture du fichier. ♦ Traitement du fichier. ♦ Fermeture du fichier. 3 ALGORITHME - PETEY II.1 Les fichiers texte Les fichiers de type Texte sont des fichiers séquentiels (mode d’organisation séquentielle). Les informations sont disposées de façon séquentielle, les unes à la suite des autres. Elles ne sont ni en ligne ni en colonne . Elles sont repérées par un pointeur. Leur organisation est séquentielle et leur accès ne peut être que séquentiel . Trois opérations sont définies sur ce type de fichiers : • La lecture : Lors de l’ouverture du fichier, le pointeur pointe sur la 1° information, quelque soit son type. A chaque accès (Lire), le pointeur se déplace sur l’information suivante, (mode d’accès séquentiel). Si on veut lire une information en amont du pointeur, il faut fermer le fichier, le rouvrir et lire jusqu’à l’information désirée. • L’écriture : un fichier non vide ouvert en écriture perd tout ce qu’il possède. En effet, dès son ouverture le pointeur est positionné sur la première ligne. Seules les opérations d’écriture sont autorisées. • L’ajout : cette opération permet de rajouter de nouvelles données à la fin du fichier sans détruire ce qu’il y avait auparavant. Le pointeur est positionné sur la marque de fin de fichier qui est décalée d’une position après chaque rajout. Exemple : Variable Fich1 : FICHIER texte Pour i <- 1 à 100 faire Lire (Fich1, Tab(i)) fin Pour Les données du fichier Fich1 sont lues et stockées dans la tableau Tab. Ecrire (Fich1, ‘’Le salaire annuel est de : ‘‘, Sal_Annuel) ; Ces informations sont stockées dans Fich1 à l’endroit où se trouve le pointeur lors de cette action. Ajout (Fich1, ‘‘Le salaire annuel est de : ‘‘, Sal_Annuel) ; Ces informations sont rajoutées à la fin de Fich1 et le pointeur reste sur la marque de fin de fichier. Il n’y a que la fin du fichier qui est marquée par un symbole repéré par la fonction EOF(Nomfichier), qui rend la valeur vraie si elle le rencontre, la valeur faux sinon. 4 ALGORITHME - PETEY Un fichier séquentiel ne peut être ouvert qu’on lecture ou en écriture. Après l’ouverture d’un fichier, la première opération (Lire, Ecrire ou Ajout) indique si le fichier est accessible en lecture ou en écriture. Ecrire et Ajout sont des opérations d’écriture, leur seule différence et due au fait que pour Ecrire, le pointeur se place en début du fichier, alors que pour Ajout, il se place en fin du fichier. Toute manipulation d’un fichier nécessite 3 phases : " Ouverture du fichier : OUVRIR (Nomfichier) " Traitement du fichier : Lecture ou Ecriture : LIRE(Nomfichier, ........) ; ECRIRE(Nomfichier, ........) ; AJOUT(Nomfichier, ........) ; " Fermeture du fichier : FERMER(Nomfichier) Remarques : • La fonction EOF(Fich1) permet de tester si le pointeur est sur la fin du fichier Fich1. • L’utilité des fichiers est la sauvegarde les données. • Il est préférable d’utiliser Ecrire à la place d’Afficher, quand on utilise les fichiers. II.2 Les fichiers d’enregistrements C’est un ensemble d’enregistrements (ou d’articles) de type structuré que l’on déjà défini. Exemple : Type Etudiant = Enregistrement Numéro : entier ; NomPrénom : Chaîne[30] Discipline : Chaîne[25] Année_Inscrip : 1950..2000 fin ; Variable 5 ALGORITHME - PETEY E1 : Etudiant Fich_Etudiant : FICHIER de Etudiant ; E1.Numéro <- 134561 ; E1.NomPrénom <- ‘’Dupont Lionel’’ ; E1.Discipline <- ‘’Sciences économiques’’ ; E1.Année_Inscrip <- 1996 Afficher(Fich_Etudiant, E1) ; On peut traiter un fichier d’enregistrements de manière séquentielle, mais son intérêt et de permettre un accès direct aux données. Lors de l’ouverture d’un tel fichier, le pointeur est positionné sur le premier enregistrement. On peut se déplacer directement sur n’importe quel enregistrement avant une opération de lecture ou d’écriture à l’aide de l’action : Positionner(Fichier, N°enregistrement) Remarques : • Contrairement aux fichiers séquentiels, un fichier d’enregistrements peut être ouvert en lecture et en écriture. • La taille d’un fichier de ce type est le nombre de ses enregistrements. uploads/Litterature/ chapitre5-algo-l1-ing-pdf.pdf

  • 28
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager