Qu'est-ce qu'un tableau ?

Un tableau est un élément de données incluant un ensemble de données de type identique, tel que :

  • données élémentaires (EDT),

    par exemple :

    • un groupe de mots BOOL,

    • un groupe de mots entiers UINT,

    • etc.

  • données dérivées (DDT),

    par exemple :

    • un groupe de tables WORD,

    • un groupe de structures,

    • des DDT d'équipement,

    • etc.

Caractéristiques

Un tableau est caractérisé par deux paramètres :

  • un paramètre définissant son organisation (dimension(s) du tableau),

  • un paramètre définissant le type de données qu'il contient.

NOTE : L'organisation la plus complexe est le tableau à 15 dimensions, et la taille maximale d'un tableau est 65 535 octets.

La syntaxe incluant ces deux paramètres est la suivante :

Définition et instanciation d'un tableau

Définition d'un type de tableau :

Instanciation d'un tableau

Les instances Tab_1 et Tab_2 sont de même type et ont le même nombre de dimensions ; la seule différence concerne ce qui se passe lors de l'instanciation :

  • Le type Tab_1 est nommé X.

  • Le type Tab_2 doit être défini (la table correspondante ne porte pas de nom).

NOTE : il est préférable d'attribuer un nom au type, puisque chaque modification requise ne sera effectuée qu'une seule fois (en effet, dans le cas contraire, le nombre de modifications serait aussi important que le nombre d'instances).

Exemples

Le tableau ci-dessous répertorie des instances de tableaux dont le nombre de dimensions diffère :

Saisie

Commentaires

Tab_1: ARRAY[1..2] OF BOOL

Tableau à 1 dimension contenant 2 mots de type booléen

Tab_2: ARRAY[-10..20] OF WORD

Tableau à 1 dimension contenant 31 structures de type WORD (structure définie par l'utilisateur)

Tab_3: ARRAY[1..10, 1..20] OF INT

Tableaux à 2 dimensions contenant 10 x 20 nombres entiers

Tab_4: ARRAY[0..2, -1..1, 201..300, 0..1] OF REAL

Tableaux à 4 dimensions contenant 3 x 3 x 100 x 2 nombres réels

NOTE : un grand nombre de fonctions (READ_VAR, WRITE_VAR, par exemple) ne reconnaissent pas l'index d'un tableau de mots commençant par un nombre autre que 0. Si vous avez recours à ce type d'index, les fonctions examinent le nombre de mots du tableau, mais pas celui figurant au niveau du premier ensemble de l'index dans la définition du tableau.

Accès à un élément de données dans le tableau Tab_1 ou Tab_3 :

Règles d'affectation entre les tableaux

Les 4 tableaux suivants sont disponibles :