Collections de données

Vidéo du tutoriel

Exercices d’application

Exercice : incrémentation des valeurs

Exercice : inversion des valeurs

Retour sur la notion de collection ou tableau

Besoin

Calcul de la somme de trois variables t0, t1 et t2. Le programme AlgoTouch est :
Define Somme
Do
  s = 0 ;
  s = s + t0 ;
  s = s + t1 ;
  s = s + t2 ;
  Write "Valeur de s " s ;
  // ...
End

On observe :

  • une instruction initiale :
s = 0;
  • une répétition d’instructions similaires :
s = s + t? ;

La variable t? change à chaque boucle.

  • une instruction terminale
Write "La valeur de s" s ;

Il manque une structure de données permettant de stocker dans une même variable plusieurs valeurs repérées par un numéro (indice), 0, 1, 2, etc.

Collection de données ou tableau

Une collection de données ou tableau est une variable contenant plusieurs valeurs. Par exemple, les trois variables t contenant trois valeurs, 10, 5 et 7. Elles sont respectivement accessibles par t[0], t[1] et t[2]. Une collection de données contient un nombre fini de valeurs, appelé sa longueur et accessible par t.length.
Tableau de 3 valeurs
Le programme d’addition des valeurs d’un tableau devient :
Define Somme
Do
  s = 0 ;
  s = s + t[0] ;
  s = s + t[1] ;
  s = s + t[2] ;
  Write "Valeur de s " s ;
  // ...
End
Comme précédemment, le code est divisé en trois parties :
  • une instruction initiale :
s = 0;
  • une répétition d’instructions similaires :
s = s + t[?] ;
La variable t[?] change à chaque boucle.
  • une instruction terminale
Write "La valeur de s" s ;

Indice

Un indice est une variable associée à un tableau. Elle permet d’accéder aux différents éléments d’un tableau en fonction de sa valeur.

Par exemple soit i l’indice associé au tableau t. Quand i vaut 1, t[i] est équivalent à t[1].

Tableau avec indice i

Utilisation de l’indice

Le programme peut maintenant utiliser une boucle pour parcourir le tableau élément par élément et effectuer la somme au fur et à mesure. Corps
s = s + t[i] ;
i = i + 1 ;
Condition de sortie
i >= t.length
Initialisation
s = 0 ;
i = 0 ;
Terminaison
  Write "Valeur de s " s ;
Code complet du programme :
Define Somme
From
  s = 0 ;
  i = 0 ;
  // ...
Until
  i >= t.length
  // ...
Loop
  s = s + t[i] ;
  i = i + 1 ;
  // ...
Terminate
  Write "Valeur de s " s ;
  // ...
End

Tableaux

Définition et syntaxe

  • Tableau : ensemble de valeurs de même type portant le même nom de variable et repérées par un indice (index en anglais)
  • Syntaxe :
    • déclaration : type nomTableau[n];
      • n nombre de valeurs que le tableau peut contenir (entier positif)
    • accès aux valeurs du tableau : nomTableau[indice]
      • avec 0 ≤ indice < n
      • un élément de tableau (nom+indice) peut être manipulé comme n’importe quelle variable