Boucles et accumulateurs

Dans ce TP, nous allons travailler la boucle for puis nous allons voir comment les utiliser pour faire des accumulateurs.

La boucle for

Nous les avons déjà rencontré. Voici l'exemple le plus simple que l'on puisse imaginer.

  1. Lancer le programme pour expliquer ce qu'il fait. Que représente i? Que fait la commande range(10)?

  2. Ci-dessous, vous trouverez un nouveau programme. Avant de l'exécuter, faire le tableau des variables pour deviner ce qu'il fait.

  1. Même question pour le programme ci-dessous.

Pour un affichage plus pratique, on peut le réécrire.

  1. Soit $u_n$ une suite géométrique de raison $q=2$ et de premier terme $u_0=1$. Écrire une programme qui calcule $u_{100}$ en utilisant une boucle for.
  1. Soit $u_n$ une suite définie par la relation de récurence $u_{n+1} = 0.9u_n + 10$ et de premier terme $u_0 = 200$. Écrire un programme qui calcule $u_{50}$ en utilisant une boucle for.

Accumulateur

Il arrive que l'on ne s'intéresse non pas à une valeur particulière mais à l'accumulation de toutes les valeurs précédentes. Pour programmer cela, on utilise un accumulateur comme présenter dans le programme suivant.

  1. Faire le tableau des valeurs pour le programme précédent et vérifier que vous obtenez bien le même résultat.
  2. Soit $u_n$ une suite géométrique de raison $q=2$ et de premier terme $u_0=1$. Écrire une programme qui ajoute toutes les valeurs de $u_n$ jusqu'à $u_{10}$.
  1. Écrire une programme qui ajoute le carré des nombres de 1 à 100.
  1. Écrire un programme qui ajoute l'inverse des nombres entre 1 et 500.

Dossier en groupe

Les cellules ci-dessous sont libres. Vous pouvez les utiliser pour écrire des programmes qui vous semblent pertinents pour le sénario choisi.