On notera :
Par exemple, le nombre triangulaire d'ordre est :
C'est le nombre de points représentés sur la figure ci-dessous :
Compléter le programme Python ci-dessous afin qu'il calcule et affiche le nombre triangulaire d'ordre :
- T=0
- for n in range(...) :
- T = ...
- print(T)
On souhaite déterminer pour quelle valeur de le nombre triangulaire d'ordre est supérieur ou égal à .
Compléter le programme Python ci-dessous afin qu'il affiche ce nombre .
Saisir ce programme dans un éditeur Python. Quelle valeur de obtient-on ?- T=0
- n=0
- while ... :
- n = ...
- T = ...
- print(n)
Corrigé
Dans le programme proposé, la variable T représente le nombre triangulaire d'ordre n.
Pour calculer le nombre triangulaire d'ordre 20, il faut effectuer la somme des entiers compris (au sens large) entre et .
Comme range(a,b) renvoie la liste des valeurs comprises (au sens large) entre a et b-1 ; il faut donc utiliser l'instruction range(1, 21 ) pour créer la boucle (l'instruction range(0, 21) ou range(21) est aussi valable puisqu'elle ne fait qu'ajouter à cette somme).
Ensuite, à chaque étape de la boucle, on ajoute n à T.
Voici le programme complet :
L'exécution de ce programme affiche la valeur 210.- T=0
- for n in range(1,21) :
- T = T+n
- print(T)
Cette fois, on ne connait pas, dès le départ, le nombre d'itérations. On doit donc utiliser une boucle while (boucle non bornée).
Ici, la variable T représente le nombre triangulaire d'ordre n.
On sort de la boucle lorsque T >= 1000, c'est à dire qu'on reste dans la boucle tant que T < 1000.
À chaque passage dans la boucle, on incrémente n puis on l'ajoute au nombre T :
- T=0
- n=0
- while T < 1000 :
- n = n+1
- T = T+n
- print(n)
Ce programme affiche le nombre comme résultat.