NetHelp, Thèmes, boutons et headers pour IceBlue
  algo6
 

LES TABLEAUX

 

6.1. Les tableaux à une seul dimension

 

Imaginez que l’on veuille calculer  la  moyenne des notes d’une classe d’élèves. Pour l’instant on pourrait l’algorithme suivant :

 

Variables somme, nbEleves, Note, i : Réels

DEBUT

somme ← 0

Ecrire " Nombre d’eleves :"

Lire nbEleves

POUR i = 1 A nbEleves

Ecrire " Note de l’eleve numero ", i , " : "

Lire Note

somme ← somme + Note

FIN POUR

Ecrire " La moyenne est de :", somme / nbEleves

FIN

 

Si l’on veut toujours calculer la moyenne des notes d’une classe mais en gardant en mémoire toutes les notes des élèves pour d’éventuels calculs (par exemple calculer le nombre d’élèves qui ont des notes supérieurs  à  la  moyenne).  Dans  ce  cas  il  faudrait  alors  déclarer  autant  de  variables  qu’il  y  a d’étudiants. Donc, si l’on a 10 élèves  il  faut déclarer 10 variables et si  l’on a N il  faut déclarer N variables et ce n’est pas pratique. Ce qu’il faudrait c’est pouvoir par l’intermédiaire d’une seule variable stocker plusieurs valeurs de même type et c’est le rôle des tableaux.

 

Un tableau est un ensemble de valeurs de même type portant le même nom de variable. Chaque valeur du tableau est repérée par un nombre appelé indice.

Les tableaux c’est ce que l’on nomme un type complexe en opposition aux types de données simples vus précédemment. La déclaration d’un tableau sera via la syntaxe suivante dans la partie des déclarations :

 

Tableau nom_tableau (nombre) : Type

 

nom_tableau     : désigne le nom du tableau

nombre              : désigne le nombre d’éléments du tableau. On dit aussi sa taille

Type                  : c’est le type du tableau, autrement dit le type de tous ces éléments

 

Exemples :

Tableau Note (20) : Réel

Note (20) est un tableau qui contient vingt valeurs réelles.

 

Tableau nom (10) , prenom (10) : Chaîne

Nom (10) et prenom (10) sont deux tableaux de 10 éléments de type chaîne.

 

 

on peut accéder (en lecture ou en écriture) à la i ème valeur d’un tableau en utilisant la syntaxe suivante :

nom_tableau (indice)

Par exemple si X est un tableau de 10 entiers :

 

·        X (2) ← - 5

Met la valeur -5 dans la 2 ème case du tableau

·        En considérant le cas où a est une variable de type Entier, a ← X (2)

Met la valeur de la 2 ème case du tableau tab dans a, c’est- à- dire 5

·        Lire X  (1)

Met l’entier saisi par l’utilisateur dans la première case du tableau

·        Ecrire X (1)

Affiche la valeur de la première case du tableau

 

Remarques :

- Un tableau possède un  nombre  maximal d’éléments défini lors  de l’écriture  de l’algorithme  (les bornes sont des constantes explicites, par exemple 10, ou implicites, par exemple MAX). Ce nombre d’éléments ne peut être fonction d’une variable.

- La valeur d’un indice doit toujours :

- être un nombre entier

- être inférieure ou égale au nombre d’éléments du tableau

 

 

6.2. Les tableaux dynamiques

 

Il arrive fréquemment que l’on ne connaisse pas à l’avance le nombre d’éléments que devra comporter un tableau. Bien sûr, une solution consisterait à déclarer un tableau avec une taille très grande. Cela pourra avoir comme  conséquence que la  taille ne nous suffira pas ou qu’une place mémoire immense sera réservée sans être utilisée.

Afin de surmonter ce problème on a la possibilité de déclarer le tableau sans préciser au départ son nombre d’éléments. Ce n’est que dans un second temps, au cours du programme, que l’on va fixer ce nombre via une instruction de re-dimensionnement : Redim.

 

Exemple :

On veut saisir des notes pour un calcul de moyenne, mais on ne sait pas combien il y aura de notes à saisir. Le début de l’algorithme sera quelque chose du genre :

 

Tableau Notes () : Réel

Variable nb en Entier

DEBUT

Ecrire “Combien y a-t-il de notes à saisir ?“

Lire nb

            Redim Notes(nb-1)

FIN

 

 

 

 

6.3. Les tableaux multidimensionnels

 

Nous avons vu qu’un tableau à une dimension correspond à une liste ordonnée de valeurs, repérée chacune par un indice.

Dans tous les langages de programmation, il est possible de définir des tableaux à deux dimensions (permettant par exemple de représenter des  matrices). Ainsi, on  pourra placer des valeurs  dans un tableau à deux dimensions et cela consiste comme dans le cas des tableaux à une dimension à donner un nom à l’ensemble de ces valeurs. Chaque valeur est alors repérée par deux indices qui précise la position.

On déclare un tableau à deux dimensions de la façon suivante :

 

Tableau nom_tableau (i , j ) : Type

 

nom_tableau     : désigne le nom du tableau

i                         : désigne le nombre de lignes du tableau

j                         : désigne le nombre de colonnes du tableau

Type                  : représente le type des éléments du tableau

 

On accède  en lecture ou  en écriture  à la valeur  d’un élément d’un  tableau  à deux dimensions  en utilisant la syntaxe suivante :

            Nom_tableau (i , j)

Par exemple si T est défini par : Tableau T ( 3 , 2) : Réel

 

-    T (2 , 1) ← -1.2

Met la valeur -1.2 dans la case 2,1 du tableau

-    En considérant le cas où a est une variable de type Réel, a ← T (2 , 1)

Met -1.2 dans a

Par extension, on peut aussi définir des tableaux à n dimensions. Leur déclaration sera pareille que celle des tableaux à deux dimensions, c’est- à- dire :

            Tableau nom_tableau (i , j , k , ….) : Type

Par exemple :

            Tableau X (10 , 9 , 5) : Entier

Ainsi que leur utilisation :

- X (2 , 1 , 3) ← 10

- a ← X (2 , 1 , 3)

 
 
  47 visiteurs (50 hits)
Accueil - Forum - Plan du site - Livre d'or - Contact

© 2008 - 2009 - NetHelp.fr.gd - Tous droits réservés
 
 
Ce site web a été créé gratuitement avec Ma-page.fr. Tu veux aussi ton propre site web ?
S'inscrire gratuitement