Les tableaux
Pour garder les notes de toute une classe, on ne va pas créer trente variables ! On utilise un tableau : une seule variable qui contient une liste de valeurs, rangées dans l'ordre.
Créer un tableau
fruits est un tableau
fruits ajoute 'pomme'
fruits ajoute 'banane'
fruits ajoute 'cerise'
affiche longueur(fruits) // 3
ajoute place une valeur à la fin du tableau. longueur donne le nombre d'éléments.
On peut aussi remplir le tableau directement, avec des crochets :
notes est un tableau vaut [12, 15, 9, 18]
Lire et modifier une case
Chaque élément a un numéro, son index. Attention : le premier élément est à l'index 0.
fruits est un tableau vaut ['pomme', 'banane', 'cerise']
affiche fruits[0] // pomme
affiche fruits[2] // cerise
fruits[1] vaut 'kiwi' // remplace banane
affiche joindre(fruits, ', ')
Le dernier élément est donc à l'index longueur(fruits) - 1. Demander une case qui n'existe pas (fruits[3] ici) provoque une erreur.
Question : Dans couleurs qui vaut ['rouge', 'vert', 'bleu'], que vaut couleurs[1] ? — vert. Les index commencent à 0 : couleurs[0] est rouge, couleurs[1] est vert.
Parcourir un tableau
Pour traiter chaque élément, on combine pour et les index :
notes est un tableau vaut [12, 15, 9, 18]
pour i de 0 à longueur(notes) - 1
affiche 'Note ' + (i + 1) + ' : ' + notes[i]
fin pour
La boucle va de 0 à longueur(notes) - 1 : exactement tous les index du tableau.
Calculons le total à la main, avec une variable qui accumule :
notes est un tableau vaut [12, 15, 9, 18]
total est un nombre vaut 0
pour i de 0 à longueur(notes) - 1
total ajoute notes[i]
fin pour
affiche 'Total : ' + total // 54
affiche 'Moyenne : ' + total / longueur(notes) // 13,5
CoddyRun propose aussi des fonctions toutes prêtes : somme(notes), moyenne(notes), premier(notes), dernier(notes). Mais savoir le faire soi-même avec une boucle, c'est la base de l'algorithmique !
Supprimer, vider, trier
nombres est un tableau vaut [5, 3, 8, 1]
nombres supprime 0 // retire l'élément à l'index 0 (le 5)
affiche joindre(nombres, ' ') // 3 8 1
trier(nombres)
affiche joindre(nombres, ' ') // 1 3 8
vide nombres
affiche longueur(nombres) // 0
supprime retire l'élément à l'index donné ; les suivants remontent d'une case.trier range le tableau dans l'ordre croissant.vide efface tout le contenu.
Quand on écrit copie vaut nombres, les deux noms désignent le même tableau : modifier l'un modifie l'autre. C'est pratique pour passer un tableau à une procédure, mais à garder en tête.
En résumé
- Un tableau range plusieurs valeurs :
notes est un tableau vaut [12, 15]. ajoute ajoute à la fin, longueur compte les éléments.- Les index commencent à 0 : le dernier est à
longueur(t) - 1. - On parcourt avec
pour i de 0 à longueur(t) - 1. supprime, vide, trier, joindre et les fonctions somme, moyenne...