Étant donné deux réels a et b, comment savoir s’ils sont égaux, ou sinon, lequel des deux est le plus petit, c’est-à-dire comment les comparer ? Avec une calculatrice, certes, mais si ce sont des expressions littérales ?
I Comparer a et b
a ⩽ b si et seulement si b – a est positif.
a ⩽ b ⇔ b – a ⩾ 0
Lorsque les deux nombres sont de même signe on peut aussi utiliser leur quotient :
.
Rappel : si a = b et b = c alors a = c !
II Transformations d’inégalités
Les nombres a + c et b + c d’une part, a – c et b – c d’autre part sont rangés dans le même ordre que a et b. Autrement dit :
a ⩽ b ⇔ a + c ⩽ b + c et a ⩽ b ⇔ a – c ⩽ b – c
Les produits ac et bc d’une part et les quotient d’autre part sont rangés :
dans le même ordre que a et b si c est strictement positif ;
si c > 0, a ⩽ b ⇔ ac ⩽ bc et
dans l’ordre inverse de a et b si c est strictement négatif.
si c < 0, a ⩽ b ⇔ ac ⩾ bc et
En ajoutant membre à membre deux inégalités de même sens on obtient une inégalité de même sens. Autrement dit : a ⩽ b et c ⩽ d ⇒ a + c ⩽ b + d.
En général on ne peut rien dire de semblable pour les trois autres opérations.
Mais si les quatre nombres sont strictement positifs (voir exercice 22) :
Méthodes
Utiliser un algorithme pour déterminer le plus grand multiple de a inférieur ou égal à b
1. Quelle est la mission du programme suivant ?
2. Un utilisateur a lancé le programme et voici ce qui est affiché sur la console.
Interpréter l’affichage.
conseils
1. Pour la commande int(input(…)).
Dans la boucle while, quelle est la condition testée ? Quelle est l’instruction réalisée à chaque passage ? Une fois sorti de la boucle, quelle est la valeur affichée ?
2. Que représente le nombre 123 455 232 pour 2 022 et 123 456 789 ?
solution
1. Le programme demande à l’utilisateur de saisir deux nombres qu’il nomme b et a. Puis, tant que k × a est inférieur ou égal à b (ligne 4) il ajoute 1 à k (ligne 5).
Dès que la valeur de k × a est supérieure à b, le programme affiche la valeur de k – 1 (qui n’est pas entre guillemets), suivie du caractère étoile (*), suivi de la valeur de a, suivie du caractère égal (=), etc.
La valeur (k – 1) × a est le plus grand multiple de a inférieur ou égal à b.
2. L’affichage montre que 123 455 232 est le plus grand multiple de 2 022 inférieur ou égal à 123 456 789.
À noter
123 455 232 est le 61 056e multiple non nul de 2 022.