Fonction affine

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.