Scratch et algorithmes
Exercices
Tarif d’un musée avec instructions conditionnelles
15 minutes
Votre progression
Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.
Créer un compteObjectif travaillé
Un musée applique la grille de tarifs suivante :
- entrée gratuite pour les enfants de moins de $ 8 $ ans ;
- tarif réduit de $ 6 $ € pour les visiteurs de $ 8 $ à $ 25 $ ans inclus ;
- tarif plein de $ 12 $ € au-delà de $ 25 $ ans.
Un programme Scratch indique à chaque visiteur, à partir de son âge, le tarif à payer.
Indiquer le message affiché par le lutin pour chacun des âges suivants :
- $ 6 $ ans ;
- $ 25 $ ans ;
- $ 40 $ ans ;
- $ 8 $ ans.
- La famille Martin est composée de deux parents âgés de $ 38 $ ans et $ 42 $ ans, et de deux enfants âgés de $ 6 $ ans et $ 12 $ ans. Calculer le coût total de la visite pour cette famille.
- Justifier le choix de la condition $ \text{age} < 26 $ (plutôt que $ \text{age} \leqslant 25 $) pour distinguer le tarif réduit du tarif plein, lorsque l'âge saisi est un nombre entier.
- Le musée décide d'instaurer un tarif senior de $ 8 $ € pour les visiteurs de $ 65 $ ans et plus. Décrire la modification à apporter au programme.
Corrigé
On compare $ \text{age} $ aux seuils $ 8 $ et $ 26 $.
- Pour $ 6 $ ans : $ 6 < 8 $, donc le lutin affiche « Entrée gratuite ».
- Pour $ 25 $ ans : $ 25 \geqslant 8 $ et $ 25 < 26 $, donc le lutin affiche « Tarif réduit : 6 € ».
- Pour $ 40 $ ans : $ 40 \geqslant 8 $ et $ 40 \geqslant 26 $, donc le lutin affiche « Tarif plein : 12 € ».
- Pour $ 8 $ ans : $ 8 \geqslant 8 $ (la première condition est fausse) et $ 8 < 26 $, donc le lutin affiche « Tarif réduit : 6 € ».
On applique la grille à chaque membre de la famille :
- enfant de $ 6 $ ans : gratuit, soit $ 0 $ € ;
- enfant de $ 12 $ ans : tarif réduit, soit $ 6 $ € ;
- parent de $ 38 $ ans : tarif plein, soit $ 12 $ € ;
- parent de $ 42 $ ans : tarif plein, soit $ 12 $ €.
Le coût total est :
$ 0 + 6 + 12 + 12 = 30 $Le coût total de la visite est de $ 30 $ €.
- Pour des âges entiers, dire « strictement inférieur à $ 26 $ » et « inférieur ou égal à $ 25 $ » revient au même : les deux conditions sont vraies pour $ 8, 9, \ldots, 25 $ et fausses pour $ 26 $ et au-delà. Scratch ne propose pas de bloc de comparaison $ \leqslant $ : on utilise donc $ \text{age} < 26 $ pour exprimer $ \text{age} \leqslant 25 $.
- Il faut ajouter une condition supplémentaire avant le « sinon » correspondant au tarif plein : si $ \text{age} \geqslant 65 $, alors afficher « Tarif senior : $ 8 $ € » ; sinon, afficher « Tarif plein : $ 12 $ € ». On imbrique ainsi un nouveau bloc « si … alors … sinon » à la place du dernier bloc « dire ».
Pour réviser : Utiliser une instruction conditionnelle dans Scratch