Calculer avec les pourcentages
Soldes à -30 %, TVA à 20 %, 85 % de réussite... Les pourcentages sont partout. Voyons comment les programmer proprement.
Prendre un pourcentage
« 30 % de 80 », c'est 80 multiplié par 30, divisé par 100 :
prix est un nombre vaut 80
taux est un nombre vaut 30
reduction est un nombre
reduction vaut prix * taux / 100
affiche 'Réduction : ' + reduction + ' €' // 24 €
affiche 'Prix soldé : ' + (prix - reduction) + ' €' // 56 €
Appliquer une réduction ou une augmentation en un calcul
Retirer 30 %, c'est garder 70 % du prix : on multiplie par 1 - 30 / 100. Ajouter 20 %, c'est multiplier par 1 + 20 / 100.
fonction appliquer(montant, taux)
retourne montant * (1 + taux / 100)
fin fonction
affiche appliquer(80, -30) // 56 : une réduction de 30 %
affiche appliquer(50, 20) // 60 : une augmentation de 20 %
Une seule fonction pour les deux cas : un taux négatif fait une réduction, un taux positif une augmentation.
Question : Un article à 200 € est soldé à -25 %. Quel est son nouveau prix ? — 150 €. 25 % de 200 font 50 € de réduction : 200 - 50 = 150 €.
Calculer un taux
Dans l'autre sens : 17 élèves reçus sur 20, quel pourcentage ? La fonction pourcentage(valeur, total) fait le calcul valeur / total × 100 :
recus est un nombre vaut 17
inscrits est un nombre vaut 20
affiche 'Taux de réussite : ' + pourcentage(recus, inscrits) + ' %' // 85 %
Avec des résultats qui ne tombent pas juste, decimal limite le nombre de chiffres :
buts est un nombre vaut 7
tirs est un nombre vaut 23
affiche 'Réussite : ' + decimal(pourcentage(buts, tirs), 1) + ' %' // 30,4 %
Le piège des pourcentages qui s'enchaînent
Un prix augmente de 10 %, puis baisse de 10 %. Revient-il au prix de départ ? Vérifions :
fonction appliquer(montant, taux)
retourne montant * (1 + taux / 100)
fin fonction
prix est un nombre vaut 100
prix vaut appliquer(prix, 10)
affiche 'Après +10 % : ' + prix // 110
prix vaut appliquer(prix, -10)
affiche 'Après -10 % : ' + prix // 99
Non ! La baisse de 10 % s'applique au nouveau prix (110), donc elle retire 11 € et non 10. Les pourcentages ne s'additionnent pas : ils se multiplient.
Les intérêts composés
C'est le même phénomène, dans le bon sens. Une somme placée à 3 % par an :
capital est un nombre vaut 1000
pour annee de 1 à 5
capital vaut capital * 1.03
affiche 'Année ' + annee + ' : ' + decimal(capital, 2) + ' €'
fin pour
Chaque année, les intérêts sont calculés sur un capital un peu plus gros : après 5 ans, on a 1 159,27 €, soit plus que les 1 150 € qu'on aurait en ajoutant simplement 30 € par an.
Prix hors taxes et toutes taxes
TVA est une constante vaut 20
prixHT est un nombre
demande 'Prix hors taxes ? ' dans prixHT
taxe est un nombre
taxe vaut prixHT * TVA / 100
affiche 'TVA : ' + decimal(taxe, 2) + ' €'
affiche 'Prix TTC : ' + decimal(prixHT + taxe, 2) + ' €'
En résumé
t % d'une valeur : valeur * t / 100.- Augmenter de
t % : multiplier par 1 + t / 100 ; réduire : par 1 - t / 100. pourcentage(valeur, total) calcule un taux.- Les pourcentages successifs se multiplient, ils ne s'additionnent pas.