Aller au contenu

Chapitre 4. Tableaux indicés

Activités

Préparation à l’interrogation écrite n°2

À retenir ❤

Parcours d’un tableau

Spécification

Un algorithme de parcours de tableau

  • prend en paramètre un tableau (type list) ;
  • lit successivement chaque élément du tableau ;
  • réalise éventuellement un affichage, un traitement ou une modification de chaque élément du tableau ;
  • ne renvoie rien.

Explication détaillée des implémentations en Python (Diaporama)

Sans indiçage

1
2
3
def parcours(tab):
    for elt in tab: #(1)!
        print(elt) #(2)!
  1. 🙋‍♂️ Par convention, en cours de NSI, la varibale elt désigne l’élément courant dans la boucle de parcours.

  2. 🙋‍♂️ L’affichage peut être remplacé par un traitement sur l’élément courant. Cependant, comme on ne dispose pas de l’indice courant, il n’est pas possible de réaliser une modification de l’élément courant.

Analyser un exemple avec Python Tutor

Avec indiçage

1
2
3
def parcours(tab):
    for i in range(len(tab)): #(1)!
        print(tab[i]) #(2)!
  1. 🙋‍♂️ Par convention, en cours de NSI, la varibale i désigne l’indice courant dans la boucle de parcours.

  2. 🙋‍♂️ L’affichage peut être remplacé par un traitement sur l’élément. Comme on dispose de l’indice courant, il est possible de réaliser une modification de l’élément courant tab[i]. Par exemple, on peut remplacer print(tab[i]) par tab[i] = tab[i] * 2 pour multiplier par deux tous les éléments du tableau.

Analyser un exemple avec Python Tutor

Application. Modification d’un tableau

1
2
3
def fois_deux(tab):
    for i in range(len(tab)):
        tab[i] = tab[i] * 2 #(1)!
  1. 🙋‍♂️ Multiplication par deux de l’élément courant. Ainsi, en fin de parcours, tous les éléments du tableau ont été multipliés par deux. Remarque. L’instruction tab[i] = tab[i] * 2 peut être remplacée par tab[i] *= 2.

Analyser un exemple avec Python Tutor

Somme

Spécification

Un algorithme claculant la somme des éléments d’un tableau

  • prend en paramètre un tableau (type list) dont tous les éléments sont des nombres (type int ou float) ;
  • lit successivement chaque élément du tableau ;
  • les accumule dans une variable d’accumulation ;
  • renvoie la somme ainsi calculée.

Sans indiçage

1
2
3
4
5
def somme(tab):
    res = 0 #(1)!
    for elt in tab: #(2)!
        res = res + elt #(3)!
    return res #(4)!
  1. 🙋‍♂️ Initialisation de la variable d’accumulation res à 0.

  2. 🙋‍♂️ Par convention, en cours de NSI, la varibale elt désigne l’élément courant dans la boucle de parcours.

  3. 🙋‍♂️ On ajoute à la variable d’accumulation res l’élément courant elt. Remarque. L’instruction res = res + elt peut être remplacée par res += elt.

  4. La somme est renvoyée.

Analyser un exemple avec Python Tutor

Avec indiçage

1
2
3
4
5
def somme(tab):
    res = 0 #(1)!
    for i in range(len(tab)): #(2)!
        res = res + tab[i] #(3)!
    return res #(4)!
  1. 🙋‍♂️ Initialisation de la variable d’accumulation res à 0.

  2. 🙋‍♂️ Par convention, en cours de NSI, la varibale i désigne l’indice courant dans la boucle de parcours.

  3. 🙋‍♂️ On ajoute à la variable d’accumulation res l’élément courant tab[i]. Remarque. L’instruction res = res + tab[i] peut être remplacée par res += tab[i].

  4. La somme est renvoyée.

Analyser un exemple avec Python Tutor

Moyenne

Spécification

Un algorithme calculant la moyenne des éléments d’un tableau

  • prend en paramètre un tableau (type list) dont tous les éléments sont des nombres (type int ou float) ;
  • lit successivement chaque élément du tableau ;
  • les accumule dans une variable d’accumulation ;
  • renvoie la somme ainsi calculée divisée par le nombre d’éléments du tableau.

Sans indiçage

1
2
3
4
5
def moyenne(tab):
    res = 0 #(1)!
    for elt in tab: #(2)!
        res = res + elt #(3)!
    return res / len(tab) #(4)!
  1. 🙋‍♂️ Initialisation de la variable d’accumulation res à 0.

  2. 🙋‍♂️ Par convention, en cours de NSI, la varibale elt désigne l’élément courant dans la boucle de parcours.

  3. 🙋‍♂️ On ajoute à la variable d’accumulation res l’élément courant elt. Remarque. L’instruction res = res + elt peut être remplacée par res += elt.

  4. La somme est renvoyée après division par len(tab) qui désigne la longueur du tableau c’est-à-dire le nombre d’éléments du tableau.

Analyser un exemple avec Python Tutor

Avec indiçage

1
2
3
4
5
def moyenne(tab):
    res = 0 #(1)!
    for i in range(len(tab)): #(2)!
        res = res + tab[i] #(3)!
    return res / len(tab) #(4)!
  1. 🙋‍♂️ Initialisation de la variable d’accumulation res à 0.

  2. 🙋‍♂️ Par convention, en cours de NSI, la varibale i désigne l’indice courant dans la boucle de parcours.

  3. 🙋‍♂️ On ajoute à la variable d’accumulation res l’élément courant tab[i]. Remarque. L’instruction res = res + tab[i] peut être remplacée par res += tab[i].

  4. La somme est renvoyée après division par len(tab) qui désigne la longueur du tableau c’est-à-dire le nombre d’éléments du tableau.

Analyser un exemple avec Python Tutor

Extremums

Maximum d’un tableau (Diapora)