La structure conditionnelle « if… else… »
6.2a Exercice
Consignes : Le degré Celsius (°C) et le degré Fahrenheit (°F) sont des unités de mesure de la température. Si on note la température en Celsius par c et la température en Fahrenheit par f, alors la règle de conversion est f = (9/5) c + 32.
Demande à l’utilisateur de donner une température en Celsius (x) et une température en Fahrenheit (y), puis imprime si ces températures sont équivalentes.
Instructions complémentaires:
- Enregistre les valeurs du taux de variation (a) et de l’ordonnée à l’origine (b) dans des variables
- Demande le point (x, y) à l’aide de la fonction input.
- Utilise l’aide mémoire et ce que tu as appris dans l’exercice préparatoire.
- Au besoin, consulte les indices sous l’éditeur de code
Indice : comment savoir si un point (x, y) est sur une droite y = ax+b ?
- Un point est sur la droite s’il respecte l’équation y = ax + b.
- Par exemple, le point (4,5) est sur la droite y = 3x -7, car 3*4-7 = 5. Cependant, le point (1,2) n’est pas sur la droite, car 3*1 -7 = -1 ≠ 2
- Pour déterminer si un point (x,y) est sur la droite, il faut évaluer la fonction au point x donné, et comparer son image avec la valeur en y donnée.
Indice : comment imprimer si le point est sur la droite ?
- Il faudra utiliser l’instruction if…. else…
- En python, pour vérifier à l’aide du if… que l’image du x est égale au y donné, il faut utiliser le symbole de double égalité « == » entre a*x+b et y. Cela correspond à poser la question suivante à Python : « Est-ce que a*x+b est égal à y ? ». C’est la condition qui sera utilisée dans le if(….)
- Le symbole de simple égalité « = » est réservé pour donner une valeur à une variable.
Solution partielle
Dans cet exemple, on peut voir que les températures données sont équivalentes, car il est vrai que (9/5)*30 + 32 = 86. Ainsi, le point (30, 86) se trouve sur la droite.
Dans cet exemple, on peut voir que les températures données ne sont pas équivalentes, car (9/5)*0+32 = 32 ≠ 100. Ainsi, le point (0,100) ne se trouve pas sur la droite.
6.2b Exercice
Consigne : Modifie le code du numéro précédent afin d’ajouter, lorsque les températures ne sont pas équivalentes, si le point (x, y) fourni par l’utilisateur est au-dessus ou au-dessous de la droite.
Instructions complémentaires:
- Modifie le code du numéro précédent
- Au besoin, consulte les indices sous l’éditeur de code
Indice : comment savoir si un point est au-dessus ou au-dessous de la droite ?
Considérons la droite y =a*x+b, et le point (x,y) donné par l’utilisateur. Calculons l’image du x à l’aide de a*x+b.
- Si le y donné est égal à l’image du x, alors le point est sur la droite.
- Si le y donné est plus grand que l’image du x, alors le point (x,y) se trouve au-dessus de la droite.
- Si le y donné est plus petit que l’image du x alors le point (x,y) se trouve au-dessous de la droite.
Il faudra utiliser l’instruction if(….) trois fois pour tester les 3 conditions et imprimer le message correspondant.
Solution partielle
Dans cet exemple, l’image de x = 15°C est (9/5)*15 + 32 = 59°F. Le point donné (15, 70) est donc situé au-dessus de la droite.
Dans cet exemple, l’image de x = -30°C est (9/5)*(-30) + 32 = -22°F. Le point donné (-30, -55) est donc situé au-dessus de la droite.