Bonjour ! Dans la leçon précédente, nous avons vu comment utiliser une méthode structurée pour résoudre des problèmes basés sur des choix, comme la détermination d'une année bissextile. Nous avons appris à utiliser les structures Si...SinonSi...Sinon pour guider l'algorithme vers différentes conclusions.
Introduction
Aujourd'hui, nous allons clore notre module sur les structures de contrôle conditionnelles en appliquant ces mêmes principes à un autre type de problème très courant : les problèmes de calcul. L'objectif est d'utiliser une condition non pas pour afficher un simple message, mais pour choisir entre différentes formules mathématiques.
Nous verrons comment un algorithme peut calculer un prix final en appliquant une remise qui dépend du montant initial. C'est une compétence fondamentale qui illustre parfaitement comment la logique et le calcul s'entremêlent en algorithmique, un pas de plus vers votre objectif d'écrire du "code clean" et efficace.
1. Du Choix à l'Action de Calcul
Jusqu'à présent, nos blocs Si...Alors...Sinon se terminaient souvent par une instruction Ecrire(...) pour afficher un résultat textuel.
Si (condition) Alors
Ecrire("Le cas A est vrai.")
Sinon
Ecrire("Le cas B est vrai.")
FinSi
Le changement fondamental aujourd'hui est que l'action à l'intérieur de ces blocs sera une affectation de variable issue d'un calcul.
Si (condition) Alors
resultat ← formule_de_calcul_A
Sinon
resultat ← formule_de_calcul_B
FinSi
Ecrire(resultat)
Cette structure nous permet de stocker le résultat d'un calcul (qui dépend d'une condition) dans une variable, pour ensuite l'utiliser, par exemple en l'affichant à la fin.
2. Étude de Cas : Tarifs Dégressifs
Plongeons-nous dans un exemple concret. Un magasin de photos propose des tarifs différents en fonction du nombre de photos à développer. Analysons ce problème pour en extraire la logique.
Algorithmes (3) Instruction conditionnelle
Ce document présente un problème de calcul de prix avec des tarifs qui changent selon la quantité. Lisez la description du problème et son analyse pour bien comprendre comment la condition influence le calcul.
Lisez la première page, sections "I. Exemple introductif" et "2°) Analyse du problème". Concentrez-vous sur l'identification des entrées, de la sortie, et de la règle qui détermine quel calcul de prix appliquer.
Après cette lecture, nous pouvons synthétiser l'analyse du problème :
- Entrée :
N, le nombre de photos (un entier). - Sortie :
P, le prix total (un réel). - Règle de décision : Le nombre de photos
Nest-il inférieur à 75 ?- Oui (
N < 75) : Le calcul estP ← N * 0.16. - Non (
N >= 75) : Le calcul estP ← N * 0.12.
- Oui (
Cela se traduit directement par l'algorithme suivant, qui utilise la structure Si...Alors...Sinon pour choisir le bon calcul :
Algorithme CalculTarifPhoto
Variables
N : Entier
P : Réel
Début
Ecrire("Entrez le nombre de photos :")
Lire(N)
Si N < 75 Alors
P ← N * 0.16
Sinon
P ← N * 0.12
FinSi
Ecrire("Le montant total est de : ", P, " €")
Fin
Cet algorithme est propre et efficace : une seule structure conditionnelle suffit pour gérer les deux cas de calcul.
3. Le Calcul de Pourcentages
Les remises sont souvent exprimées en pourcentages. Comprendre comment les traduire en une formule de calcul est une compétence essentielle.
Supposons qu'un prix P subisse une réduction de t pour cent (t%).
- Le montant de la réduction est :
- Le nouveau prix est donc :
- En remplaçant :
- En factorisant par
P, on obtient :
Le terme est appelé le coefficient multiplicateur. C'est une astuce de calcul très utile.
Exemples :
- Une remise de 30% : le coefficient est . Le nouveau prix est
PrixInitial * 0.7. - Une remise de 10% : le coefficient est . Le nouveau prix est
PrixInitial * 0.9.
Cette méthode est bien plus directe que de calculer la remise puis de la soustraire.
4. Exercice Pratique : Appliquer une Remise
Maintenant, à vous de jouer ! Mettez en pratique ce que nous venons de voir.
Problème :
Un magasin applique la politique de remise suivante :
- Si le prix d'un article est strictement supérieur à 50 €, il applique 30% de remise.
- Sinon (c'est-à-dire si le prix est inférieur ou égal à 50 €), il applique 10% de remise.
Votre tâche est de compléter l'algorithme ci-dessous pour qu'il calcule et affiche le prix final Q après réduction, à partir d'un prix initial P. Pensez aux coefficients multiplicateurs !
Algorithme CalculRemise
Variables
P, Q : Réels
Début
Ecrire("Saisir le prix avant réduction :")
Lire(P)
Si ................... Alors
Q ← ...................
Sinon
Q ← ...................
FinSi
Ecrire("Le prix après réduction est : ", Q)
Fin
Prenez quelques minutes pour remplir les pointillés en vous basant sur l'énoncé et sur ce que nous avons appris sur les pourcentages.
Une fois que vous avez une solution en tête, vous pouvez la vérifier avec la correction détaillée.
Algorithmes (3) Instruction conditionnelle
Pour vérifier votre solution et approfondir la logique des calculs de pourcentage, consultez la correction de cet exercice dans le document suivant.
Dans le document, trouvez la section de correction nommée "2. Algorithme de calcul d’un prix après réduction". Lisez l'algorithme corrigé et portez une attention particulière au paragraphe "Explication" qui justifie l'utilisation des coefficients 0,7 et 0,9.
Voici l'algorithme complet :
Algorithme CalculRemise
Variables
P, Q : Réels
Début
Ecrire("Saisir le prix avant réduction :")
Lire(P)
Si P > 50 Alors
Q ← P * 0.7 // Application de la remise de 30%
Sinon
Q ← P * 0.9 // Application de la remise de 10%
FinSi
Ecrire("Le prix après réduction est : ", Q)
Fin
Traçons-le manuellement :
-
Si l'utilisateur saisit
P = 100:- La condition
100 > 50est vraie. - L'algorithme exécute
Q ← 100 * 0.7, doncQprend la valeur70. - Il affiche "Le prix après réduction est : 70".
- La condition
-
Si l'utilisateur saisit
P = 40:- La condition
40 > 50est fausse. - L'algorithme exécute le bloc
Sinon:Q ← 40 * 0.9, doncQprend la valeur36. - Il affiche "Le prix après réduction est : 36".
- La condition
L'algorithme fonctionne parfaitement !
Conclusion
Félicitations ! Vous avez terminé le module sur les structures de contrôle conditionnelles. Vous êtes maintenant capable d'utiliser la logique Si...Alors...Sinon pour résoudre une grande variété de problèmes, qu'ils impliquent de faire des choix, de vérifier des règles complexes ou, comme aujourd'hui, d'effectuer des calculs différents selon la situation.
Points clés à retenir :
- Les structures conditionnelles sont fondamentales pour exécuter différentes formules de calcul en fonction des données d'entrée.
- Traduire des pourcentages en coefficients multiplicateurs (
Prix * (1 - t/100)) est une technique efficace et courante pour gérer les remises ou les taxes. - Un algorithme bien structuré sépare clairement la condition (le
Si) de l'action de calcul (l'affectation dans leAlorsou leSinon).
Et après ?
Nous avons maîtrisé les instructions qui s'exécutent de haut en bas (séquentielles) et celles qui créent des embranchements (conditionnelles). Mais que faire si nous devons répéter une action des centaines de fois ? C'est le sujet de notre prochain module : les structures de contrôle répétitives, plus connues sous le nom de boucles. Dans la prochaine leçon, nous découvrirons la boucle Pour, un outil puissant pour répéter une action un nombre de fois bien défini.