Comparer deux réels

Signaler

É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 :

0<abab1 et ab<0ab1.

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 aet bc d’autre part sont rangés :

dans le même ordre que a etsi c est strictement positif ;

si c> 0, a b ac bc et abacbc

dans l’ordre inverse de a et b si c est strictement négatif.

si c< 0, a b ac bc et abacbc

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) :

PB_Bac_05294_Mat2_TT_p085-118_C04_Groupe_Schema_0

Méthode

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 ?

PB_Bac_05294_Mat2_TT_p085-118_C04_Algo_2

2. Un utilisateur a lancé le programme et voici ce qui est affiché sur la console.

PB_Bac_05294_Mat2_TT_p085-118_C04_Algo_3

Interpréter l’affichage.

Repère
Conseils

1. Pour la commande int(input(…)), voir la fiche 3.

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 793 pour 2 019 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 dea, 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 793 est le plus grand multiple de 2 019 inférieur ou égal à 123 456 789.

À noter

123 455 793 est le 61 147e multiple non nul de 2 019.