Bonjour à tous.
Dans un DM à rendre la semaine prochaine je n'arrive pas à comprendre un algorithme.
Je vous communique l'énoncé.
x = -2
a = 5/6
b= -5
tant que a > ou égal à b faire
Afficher x
Si x différent de de 1/2
alors x = x + 1/2
sinon x = x + 1
Fin Si
a = ( x - 1/2 ) / ( x - 1 )
b = 2x -1
Fin Tant que
En faisant tourner à la main cet algorithme, compléter le tableau suivant :
x . a . b . a>b . affichage
-2 0,83 . -5 . vrai . -2
-1,5 . 0,8 . -4 . vrai . -1,5
-1
-0,5
0
0,5
1
1,5
J'ai vérifié les 2 première lignes à l'aide des formules :
a = ( x - 1/2 ) / ( x - 1 )
b = 2x -1
mais je comprends pas comment fonctionne de programme en particulier :
tant que a > ou égal à b faire
Afficher x
Si x différent de de 1/2
alors x = x + 1/2
sinon x = x + 1
Fin Si
Un grand merci à celle ou celui qui pourrait m'expliquer.
Bonne journée.
Bien cordialement
Bonjour,
le programme balaye les valeurs de x de 0.5 en 0.5 tant que la fonction a(x) = (x - 1/2)/(x - 1) est ≥ la fonction b(x) = 2x - 1
le "si" a pour but "d'éviter" la valeur x = 1 qui donnerait une division par 0 dans le calcul de a = (x - 1/2)/(x - 1)
les valeurs de x pour lesquelles on calcule a(x) et b(x) sont ainsi :
... -0.5; 0; 0.5; 1.5; 2; 2.5 ...
la valeur 1 étant omise. (lorsque x valait 1/2, au lieu d'ajouter 0.5 et de passer à la valeur 1, on passe directement à la valeur 1.5 en ajoutant 1 au lieu de 0.5)
L'idée de Si x différent de de 1/2 alors x = x + 1/2 sinon x = x + 1
c'est que x part de -2 et va donc faire -2 ;-1.5;-1;-0.5;0;0.5 et là il va sauter à 1.5
il va donc prendre toutes les valeurs de 0.5 en 0.5 mais il va sauter la valeur 1
Pourquoi ?
parce que a = ( x - 1/2 ) / ( x - 1 ) et que a n'est pas défini pour x=1, c'est une valeur interdite.
alors maintenant regardons ce que deviennent les valeurs a et b
a part de 5/6 mais surtout prend les valeurs ( x - 1/2 ) / ( x - 1 ) donc les valeurs de la fonction f(x) = ( x - 1/2 ) / ( x - 1 ) pour x évoluant de 0.5 en 0.5
et il fait ça tant que a b donc tant que ( x - 1/2 ) / ( x - 1 ) 2x - 1
alors jetons un petit coup d'oeil sur les graphes des fonctions f(x) = ( x - 1/2 ) / ( x - 1 ) et de la droite y = 2x-1
on voit que a va prendre les valeurs f(x) tant que la fonction f(x) (en bleue) reste au dessus de la droite. Et on voit qu'elle passe en dessous pour x = 1/2
mais à 1/2 elle saute à x = 1.5 , la fonction est alors en dessous et l'algorithme va s'arrêter.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :