as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’i

as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Fichiers I3 - Algorithmique et programmation Nicolas Delestre Fichiers - v1.2 1 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Plan 1 Introduction 2 Repr´ esentation de l’information 3 Les fichiers en programmation 4 Les fichiers en Pascal 5 Quelques exemples Fichiers - v1.2 2 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Introduction Remarques Lorsque l’on utilise un programme : on saisit des informations, on ≪calcule ≫des nouvelle informations ` A l’arrˆ et du programme ces informations sont perdues L’objectif des fichiers est de conserver ces informations d’une ex´ ecution ` a l’autre du programme Cela am` ene ` a enregistrer de l’information et ` a relire de l’information C’est le troisi` eme tiers d’une architecture classique trois tiers Fichiers - v1.2 3 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Qu’est ce qu’un fichier ? D´ efinition Un fichier est un ensemble d’informations enregistr´ e sur un support de masse (disque dur, cl´ e USB, etc.) Un fichier poss` ede des m´ etadonn´ ees (nom, date de cr´ eation, date de derni` ere modification, propri´ etaire, etc.) Les fichiers dans un ordinateur sont g´ er´ es par un syst` eme de fichiers (l’un des composants des syst` emes d’exploitation). Ils sont rang´ es dans des r´ epertoires (ou dossier) Les fichiers poss` edent un format qui indique comment sont organis´ ees les informations. Souvent le format apparaˆ ıt par une extension suffixe du nom du fichier (par exemple .txt, .pdf, .docx, .odt) Fichiers - v1.2 4 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Repr´ esentation de l’information 1 / 3 Tout est octet Lorsque l’on d´ eclare une variable, sa valeur est stock´ ee en m´ emoire de l’ordinateur suivant un certain codage Il existe des codages pour chaque type de donn´ ees Ces codages peuvent ˆ etre ou ne pas ˆ etre normalis´ es Ces codages sont difficilement compr´ ehensibles par un humain 1100 0010 1110 1101 0100 0000 0000 0000 repr´ esente le nombre flottant −118, 625 suivant la norme IEEE 754 (Wikip´ edia) Un codage peut ˆ etre ` a taille fixe ou ` a taille variable La repr´ esentation textuelle est un codage humainement compr´ ehensible. Plusieurs types de codage sont disponibles : ASCII, ASCII ´ etendu (non normalis´ e), ISO 8859 - [1-15], Unicode Les 32 premiers caract` eres de l’ASCII sont non imprimables Attention l’interpr´ etation de certains caract` eres non imprimables changent en fonction du syst` eme d’exploitation Fichiers - v1.2 5 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Repr´ esentation de l’information 2 / 3 Naturel sur 8 bits De 010 (00000000) ` a 25510 (11111111) Entier en compl´ ement ` a 1 sur 8 bits M´ ethode : comme pour les naturels. On verse les chiffres pour obtenir les entiers n´ egatifs De −12710 (10000000) ` a 12710 (01111111) Deux codages pour 0, 00000000 et 11111111 Entier en compl´ ement ` a 2 sur 8 bits M´ ethode pour le compl´ ement ` a 1 mais on ajoute en plus 1 pour les entiers n´ egatifs De −12810 (10000000) ` a 12710 (01111111) Fichiers - v1.2 6 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Repr´ esentation de l’information 3 / 3 Morse Exercice : Que signifie ? .- ... .. -.-. . ... - -... .. . -. Fichiers - v1.2 7 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Les fichiers en programmation 1 / 4 L’assignation Un fichier est externe ` a un programme, il est identifi´ e par son nom Un programme (dans la paradigme de la programmation structur´ ee) manipule uniquement des variables Il faut associer une variable ` a un fichier. Nous verrons par la suite qu’il existe plusieurs types de variable permettant de manipuler diff´ eremment les fichiers. La variable contient diff´ erentes informations (nom du fichier, taille du fichier, position du curseur, etc.) Les actions sur la variable ont des actions sur le fichier (tant sur le contenu que sur la position courante du curseur) Attention De mani` ere abusive on utilise le terme ≪fichier ≫aussi bien pour le fichier ` a proprement parl´ e que pour la variable qui permet de l’utiliser Fichiers - v1.2 8 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Les fichiers en programmation 2 / 4 La notion de curseur Historiquement, abstraction de la position de la tˆ ete de lecture/´ ecriture des unit´ es de masse Indique la position de la prochaine lecture ou ´ ecriture L’´ ecriture ou la lecture ≪fait avancer le curseur ≫ Fichier ` a acc` es s´ equentiel On ne peut avoir acc` es ` a la ieme information, qu’apr` es avoir lu les i −1 informations pr´ ec´ edentes Fichier ` a acc` es al´ eatoire On peut acc´ eder directement ` a la ieme information en d´ epla¸ cant directement le curseur Fichiers - v1.2 9 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Les fichiers en programmation 3 / 4 L’ouverture, la fermeture Avant de pouvoir utiliser un fichier, il doit ˆ etre ouvert. Il existe g´ en´ eralement quatre mode d’ouverture lecture (position du curseur en d´ ebut de fichier) ´ ecriture (position du curseur en d´ ebut de fichier) lecture / ´ ecriture (position du curseur en d´ ebut de fichier) ajout (position du curseur en fin de fichier) Une fois que l’on a fini de l’utiliser, un fichier doit ˆ etre ferm´ e Fichiers - v1.2 10 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Les fichiers en programmation 4 / 4 Actions savoir si le curseur est en fin de fichier lire (fichier ouvert en lecture, lecture/´ ecriture) : permet de lire une information ` a la position du curseur (pr´ econdition : le curseur ne doit pas ˆ etre en fin de fichier) ´ ecrire (fichier ouvert en ´ ecriture, lecture/´ ecriture et ajout) : permet d’´ ecrire une information ` a la position du curseur. Si le curseur est en fin de fichier alors le fichier est agrandi, sinon il y a ´ ecrasement des informations pr´ ec´ edentes d´ eplacer le curseur Fichiers - v1.2 11 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Les fichiers en Pascal 1 / 2 Type des variables fichiers Il existe trois types pour les variables permettant de manipuler les fichiers : File : fichier non typ´ e File of : fichier typ´ e Text : fichier texte Fonctions, proc´ edures ind´ ependantes du type syst` eme de fichiers (unit´ e sysutils) : fileExist, fileGetAttr, fileGetDate, etc. assignation : assign ouverture : reset, rewrite fermeture : close fin de fichier : eof Fichiers - v1.2 12 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples Les fichiers en Pascal 2 / 2 Fonctions, proc´ edures pour fichier binaire non typ´ e lecture, ´ ecriture : blockRead, blockWrite gestion du curseur : seek, filePos, fileSize Fonctions, proc´ edures pour fichier typ´ e lecture, ´ ecriture : read, write gestion du curseur : seek, filePos, fileSize Fonctions, proc´ edures pour fichier texte ouverture : append lecture, ´ ecriture : read, readln, write, writeln gestion du curseur : seekEOF, seekEOLn gestion du buffer : flush Fichiers - v1.2 13 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples ´ Ecrire 42 1 / 3 Premier exemple ´ Ecrire le contenu d’une variable enti` ere (type Entier) qui vaut 42 dans un fichier : Texte Binaire (typ´ e et non typ´ e) Programme principal var a : Entier; begin a:=42; enregistrementTexte (a,’quaranteDeux .txt’); enregistrementBinaireNonType (a,’quaranteDeux .bin1 ’); enregistrementBinaireType (a,’quaranteDeux .bin2 ’) end. Fichiers - v1.2 14 / 27 as Architecture des Systèmes d’Information Introduction Repr´ esentation de l’information Les fichiers en programmation Les fichiers en Pascal Quelques exemples ´ Ecrire 42 2 / 3 procedure enregistrementTexte (a : Entier; nomFichier : String ); var fichierTexte uploads/Ingenierie_Lourd/ 13-fichiers.pdf

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