Tableaux

Tableau

Contrairement à un objet simple comme un nombre, le tableau est une structure de données qui peut contenir une liste finie de valeurs.

Les éléments sont accessibles grâce a un indice (entier) et sont rangés successivement en mémoire.

Tableau : Caractéristiques

  • Les éléments d'un tableau peuvent être des objets simples, ou des objets structurés.

  • Les chaînes de caractères sont des tableaux de caractères.

    • Les constantes chaînes de caractères sont des suites de caractères entre guillemets.

Tableaux

[1,2,3,4,5,6,7,8,9]

"Bonjour à tous !"

Pourquoi utiliser des tableaux ?

Il est quelquefois pratique de pouvoir conserver une série d'informations de même nature dans la mémoire de l'opérateur.

C'est notamment le cas de listes de valeurs ou d'informations qui doivent être utilisées plusieurs fois.

Déclaration

Un tableau sera déclaré en indiquant successivement :

  1. Le type des éléments

  2. L'identificateur

  3. Le nombre d'éléments du tableau entre crochets.

Syntaxe :

Type_Elements Identif_Tableau [Nb_Eléments] ;

Déclaration

N : constante Entier 6 ; Entier T[N] ;

Ceci crée donc un tableau de nom T dont les indices varient de 0 à 5 (6 cases au total)

0

1

2

3

4

5

T

?

?

?

?

?

?

Accès

Syntaxe :

Identif_Tableau[Expression] ;

Où expression est une expression donnant un entier, sa valeur est calculée, sa valeur représente l'indice de l'élément.

  • T[0] est l'élément du tableau T d'indice 0

  • T[1] est l'élément du tableau T d'indice 1

  • ...

  • T[2+3] est l'élément d'indice 5

  • Si N a pour valeur 6, T[N-1] est l'élément d'indice 5

Affectation

Un élément de tableau se comporte comme une variable , on peut par exemple donner une valeur à un élément par affectation ou par lecture (si l'élément est une variable simple).

Affectation

T[0] <- 12 ;

T[1] <- 5 ;

T[2] <- -4 ;

T[3] <- 10 ;

T[4] <- -2 ;

T[N-1] <- 24 ;

0

1

2

3

4

5

T

12

5

-4

10

-2

24

Traitements classiques : Initialisation

Mise a zéro de toutes les cases du tableau T

indice <- 0 ;

Tant que indice <= N-1 faire

début

  T[indice] <- 0 ;

  indice <- indice + 1 ;

fin ;

Traitements classiques : Initialisation

Lecture de toutes les cases du tableau T

indice <- 0 ;

Tant que indice <= N-1 faire

début

  valeur <- lire(T[indice]);

  indice <- indice + 1 ;

fin ;

Traitements classiques : Initialisation

Ecrire dans les cases du tableau T

indice <- 0 ;

Tant que indice <= N-1 faire

début

  T[indice] <- valeur;

  indice <- indice + 1 ;

fin ;

Tableaux à multiple dimensions

Déclaration :

Type_Elements Identif_Tableau [d1] [d2] ... [dn]

di est la taille de la ième dimension

Accès :

Identif_Tableau [expr1] [expr2] ... [exprn]

Tableaux à multiple dimensions... Exercice

M1 =

1

0

-1

3

M2 =

3

1

2

1

M1 + M2 =

4

1

1

4

Un peu d'exercice : Ecrire l'algorithme permettant de faire la somme de deux matrice.

Tableaux à multiple dimensions... Solution

...

I : constante Entier <- 2 ; J : constante Entier <- 2 ; Entier m[I][J] ;

Début

...

indiceI <- 0 ;

Tant que indiceI <= I-1 faire

début

  indiceJ <- 0;

  Tant que indiceJ <= J-1 faire

  début

    m[indiceI][indiceJ] <- m1[indiceI][indiceJ] + m2[indiceI][indiceJ] ;

    indiceJ <- indiceJ + 1 ;

  fin ;

  indiceI <- indiceI + 1 ;

fin ;

...

Fin.

AccueilAlgorithmique > Tableaux< PrécédentSuivant >