Possibilités / Limitations du langage Z (niveau II)

 

Structures
Types composés
Tableau
Lectures / Ecritures
Opérations de haut niveau
Affectation globale
Fichiers
 

 

 

Structures

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) ;

Tableaux


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] ) ;

Opérations de haut niveau

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.

Types composés

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.