Rastell Toull

Site web consacrée à la Bretagne,
à l'Afrique du nord
à la chanson française,
à la recherche scientifique,
et à bien d'autres sujets ...

Les fichiers autolisibles

par Jacques-Deric Rouault

Article original
Page publique
Page opérationnelle

Version 4.1 du
4 Mai 2012

Table thématique
Table chronologique
Administrateur du site
Comment citer ce document ?
Jacques-Deric Rouault, 2012. Les fichiers autolisibles. Rastell Toull page C137

Présentation

    Dans cet article, le concept de "fichier autolisible" va être explicité et développé. Cette idée remonte au début des années 1980, quand on commençait à faire de l'analyse des données sur les premiers micro-ordinateurs (l'Apple //) (Capy Rouault, 1982), après l'avoir pratiquée dans les gros centres de calculs équipés de monstres (vus retrospectivement avec le regard d'aujourd'hui) comme les IBM 370 (tel le CIRCE à Orsay, et bien d'autres...) ....

    On parle aujourd'hui de fichier autolisible pour des fichiers gravés sur un CD qui vont être automatiquement exécutés quand on introduit le support dans le lecteur d'un ordinateur. C'est une mauvaise traduction de auto boot, mieuxcompréhensible sous le terme de fichier auto-exécutable ...

Le concept

    Quand un programme lit un fichier de données, sa structure et sa taille doivent être prélablement connues de façon contextuelle. Par exemple, ces paramètres sont connus a priori par le programmeur (ce qui limite singulièrement l'int"ret du programme), ou sont codées dans un fichier texte annexe. L'idée de base du concept de fichier autolisible est de coder ces informations au début du fichier lui-même, en suivant un format particulier.

    Pour un fichier texte, cela ne pose pas de difficulté technique, il suffit de définir un format et le suivre. Voir par exemple l'article consacré aux formats Rastell Toull.

    Si les fichiers textes présentent l'avantage d'être directement lisible et de contenir des informations de nature hétérogène (chaines de caractères, nombres entiers, flottants, ...), les temps de lecture sont très longs car les données contenues doivent être converties dans le format de représentation interne.  Les fichiers data présentent des informations d'un même type homogène unique, dont la lecture est très rapide, car il n'y pas besoin de conversion. L'idée de fichiers autolisible est de coder dans ce type unique les informations relatives à la structure et à la taille des données.

Les fichiers autolisibles de flottant simple précision relatives à un tableau à une dimension

    Les flottants simple précision sont codés sur 4 octets (32 bits) et correspondent à des nombres décimaux de 7 chiffres significations à valeur entre 10 puissance -38 et +38.

    En tête du fichier, nous allons ajouter 3 flottants avec des valeurs particulières qui vont décrire la structure qui suit : l'identificateur, le format et la taille.

    L'identificateur est une valeur particulière qui va permettre d'identifier ce fichier comme possédant une structure autolisible. Cette valeur particulière doit être à la fois parfaitement caractéristique et hautement improbable. Nous avons retenu fident = 1.231456789.

    Le format précise la structure du tableau de données. Pour un tableau à une dimension, ligne ou colonne, nous prendrons fformat = 1.0.

    La taille est le nombre de valeurs présentes, codées en flottant.

    Le programme RT_C137A2A1.adb créée de toutes pièces un fichier autolisible de ce type RT_C137A2A2.dat.



    L'exécution du programme RT_C137A2A1.exe créée de toutes pièces un fichier autolisible de ce type RT_C137A2A2.dat. On vérifiera que ce fichier contient bien 3+20 flottants simple précision, ce qui correspond à 23*4 = 92 octets.  

    Le programme RT_C137A2A4.adb lit un fichier autolisible de ce type. Le nom du fichier à lire se trouve dans le fichier auxilliaire RT-C134A2A4.txt au format 2 de Rastell Toull.




Le programme exécutable RT-C137A2A4.exe lit le fichier auxilliaire RT-C137A2A4.txt et affiche les 20 flottants simple précisions contenus dans le fichier RT-C137A2A2.dat.





Les fichiers autolisibles de flottant double précision relatives à un tableau à une dimension

    Les flottants double précision sont codés sur 8 octets (64 bits)  et correspondent à des nombres décimaux de 16 chiffres significations à valeur entre 10 puissance -308 et +308.

    En tête du fichier, nous allons ajouter 3 flottants avec des valeurs particulières qui vont décrire la structure qui suit : l'identificateur, le format et la taille.

    L'identificateur est une valeur particulière qui va permettre d'identifier ce fichier comme possédant une structure autolisible. Cette valeur particulière doit être à la fois parfaitement caractéristique et hautement improbable. Nous avons retenu fident = 1.2314567890123456789.

    Le format précise la structure du tableau de données. Pour un tableau à une dimension, ligne ou colonne, nous prendrons fformat = 1.0.

    La taille est le nombre de valeurs présentes, codées en flottant.

    Le programme RT_C137A3A1.adb créée de toutes pièces un fichier autolisible de ce type RT_C137A3A2.dat.



    L'exécution du programme RT_C137A3A1.exe créée de toutes pièces un fichier autolisible de ce type RT_C137A3A2.dat. On vérifiera que ce fichier contient bien 3+20 flottants double précision, ce qui correspond à 23*8 = 184 octets.  

    Le programme RT_C137A3A4.adb lit un fichier autolisible de ce type. Le nom du fichier à lire se trouve dans le fichier auxilliaire RT-C134A3A4.txt au format 2 de Rastell Toull.




Le programme exécutable RT-C137A3A4.exe lit le fichier auxilliaire RT-C137A3A4.txt et affiche les 20 flottants double précision contenus dans le fichier RT-C137A3A2.dat.





Sources

Capy P, Rouault J. 1982. Une structure de fichier "auto-lisible" pour l'analyse statistique. Actes du dixième colloque Informatique et Biosphère, "Micro informatique et Biosphère", Paris, pp 295-300.

Flottants double précision
http://fr.wikipedia.org/wiki/Virgule_flottante
http://fr.wikipedia.org/wiki/IEEE_754

Liens internes

Autolien
Numéro
Article
Auteur
RubriqueSous-rubrique Nature
C137
Les fichiers autolisibles
Jacques-Deric Rouault
B42 Informatique
Article original

Cette page utilise les articles
Numéro
Article
Auteur
Rubrique Sous-rubrique Nature
C127
Les formats Rastell Toull
Jacques-Deric RouaultB42 Informatique Les formats
Article original

Articles utilisant cette page
Numéro
Article
Auteur
RubriqueSous-rubrique Nature
C132
Les générateurs pseudo-aleatoires
Jacques-Deric RouaultB41 Mathématiques
B42 Informatique
Analyse numérique
Article original

Articles connexes

Page d'accueil
Table thématique
Table chronologique
Administrateur du site / Contact