Structures | Types composés |
Tableau | Lectures / Ecritures |
Opérations de haut niveau | Affectation globale |
Fichiers |
Une structure peut être
- simple ( scalaire, scalaire, ... )
- complexe ( scalaire/vecteur à une dimension de scalaire, scalaire/vecteur à
une dimension de scalaire, ...)
Une structure peut être statique ou dynamique.
Une structure dynamique est une structure simple. Elle ne peut avoir à
l'intérieur des tableaux dynamiques.
On peut avoir une structure formée d'un seul élément
Exemple: SOIT S UN (ENTIER) ;
Un tableau peut être statique ou dynamique.
La dimension d'un tableau ne peut excéder 5.
On ne peut avoir un tableau dynamique de structures dynamiques.
On ne peut pas avoir un tableau de structures complexes.
Pour un tableau défini comme suit
SOIT
T3 UN VECTEUR ( 3 ) DE VECTEUR ( 2 ) ;
On ne peut pas faire
INIT_VECT ( T3 , [ [ 23 , 7 ] , [ 2 , 3 ] , [ 78 , 34 ] ] ) ;
Faire plutôt
INIT_VECT ( T3 , [ V1 , V2, V3] ) ;
Pour toutes les opérations de haut niveau, l'élément peut être un scalaire ou
une structure simple.
(Init_vect,
creer_liste, ...)
Par contre, pour init struct, on peut avoir une structure complexe
Exemple : init_struct( S,[ 'zz',
[12, 23, 32], 7);
On ne peut pas faire:
creer_liste (L, [ [12, 23, 22],
[22, 66, 88], ...]);
Init_vect (V, [ [12, 23, 22],
[22, 66, 88] ... ]);
On peut utiliser les expressions dans les opérations de haut niveau.
Fichiers
L'élément d'un fichier peut être:
- une structure simple
- une structure complexe
- un tableau de scalaires
- un scalaire
L'entête est une structure simple.
la partie ENTETE est facultative
la partie BUFFER est facultative
Syntaxe : la partie ENTETE précède la partie
BUFFER.
On ne peut pas écrire
- SOIT f1,f2 des fichiers de ...
Il faut faire des déclarations individuelles.
Un type composé est défini comme suit:
Type de Type de.... de X
avec
Type dans { Liste, Listebi, Arb, Arm, Vecteur, File, Pile}
X est soit un scalaire soit une structure simple
Lecture / Ecriture
On peut lire/écrire une structure simple ou complexe (statique ou dynamique)
On peut lire/écrire un tableau de scalaires à une ou plusieurs dimensions
(statique ou dynamique)
Affectation globale
On peut faire des affectations globales de tableaux et de structures
statiques.
Il s'agit de création d'une copie et non une simple affectation de pointeur.
Pour les tableaux, on se limitera aux tableaux de scalaires ou de structures
simples.