Etape 1 – script sans boucle calculant T₁ etT₂
Visualisation mentale
Pour les 2 premiers nombres triangulaires j’ai besoin d’au moins 4 billes dans mon sac.
- Imaginons un sac de 6 billes
- J’en prends p = 1 bille
- Je construis T₁ = p = 1 bille
- Je compte le contenu de mon sac, il en reste 6-1=5 billes
- J'ai assez de billes pour faire T₂ car il m’en faut 1+2=3 et il m’en reste 5
T₂ = T₁ + p+1 - Je prends p = 2 + 1 billes
- Je construis T₂ = T₁ + p+1
- Je compte le contenu de mon sac, il en reste 5-3=2 billes
- Je n’ai plus assez de billes pour faire T₃ car il m’en faudrait 1+2+3=6 et il ne m’en reste que 2
Visualisation du script
C’est le début qui est dur. Après quelques essais je vous propose ceci:
Script
# initialisation variables
sac=6
b=0
t=0
p=0
# je cree T1
p=p+1
t=t+p
sac=sac-t
print(p,t,sac)
# je cree T2
p=p+1
t=t+p
sac=sac-t
print(p,t,sac)
Console
>>> %Run Triangulaire.py
1 1 5
2 3 2
Compréhension du script
Je passe sur l’initialisation des variables
-
p=p+1 me permet d’ajouter 1 bille au nombre de bille prise avant. Cela correspond aux billes roses, puis aux billes jaunes, puis au billes vertes.
-
t=t+p me permet de calculer les billes nécessaires au nombre triangulaire suivant connaissant le nombre de bille du nombre triangulaire précédent
-
sac=sac-t me permet de soustraire les billes utilisées pour un nombre triangulaire au contenu du sac.
Compréhension du shell
-
1 1 5 => Bille prise 1 – Nbre triangulaire construit T₁ avec 1 bille - Reste dans le sac 5 billes
-
2 3 2 => Bille nécessaire et prise une de plus donc 2 – Nbre triangulaire construit T₂ qui utilise au total 1+2 soit 3 billes - Reste dans le sac 2 billes car j’ai retiré T₁ et T₂
Amélioration - Poursuite du questionnement
=> Compléter ce script pour confirmer sa logique en calculant le nombre de billes nécessaires pour le 3ème nombre triangulaire.