Bonjour j'ai un problème avec un exercice que je doit faire pour la rentrée. Voici la consigne :
1a. appliquer l'algorithme ci dessous avec a = 2, b = 1 et x = 4; puis avec a = 2, b = 1 et x = -1
Algorithme:
Variables : a, b, x, y nombres
Entrées : saisir a, b ,x
Traitement et sorties :
y prend la valeur ax+b-1/x
si y = 0 alors afficher "solution"
sinon afficher "pas solution"
fin si
1b. Que fait cet algorithme?
2. Quel message doit il afficher pour a = b =1, x= (racine de 5-1)/2
3. On a programmé cet algorithme sur le logiciel scilab, en faisant de plus afficher y. En entrant les valeurs de la Q2, on obtient l'écran dont une copie est donnée ci-dessous
a=1
b=1
x=(sqrt(5)-1)/2
pas solution
y = 2,220446049D-16
D'où peut venir le problème constaté?
comment modifier le test et les sorties de l'algorithme pour remédier à ce problème.
J'ai répondu a la Q1 a et b et à la Q2
C'est ce qui est écrit sur le sujet, et quand je résous l'équation ax+b-1/x c'est à dire 1*(sqrt(5)-1)/2 +1 - 1/(sqrt(5)-1)/2 je trouve 0, mais quand je fait l'algorithme sur Algobox en affichant y je trouve 2,220446e-16.
Bonjour,
c'est sans doute y = 2,220446049E-16 (faute de farppe) qui veut dire y = 2,220446049 × 10-16
contrairement à un algorithme (qui est quelque chose d'abstrait et de purement théorique), sa réalisation sous forme de programme dans une machine avec un langage donné effectue généralement tous ses calculs numériques donc approchés
les chances pour que ça donne très exactement 0 sont donc quasiment nulles....
même si "théoriquement" ça doit donner 0.
il faut donc faire un test
si y "à peu près nul"
au lieu du test si y = 0
et pour réaliser ce test "à peu près nul"
on peut tester si la valeur absolue de y est < e fixée à priori, qui doit être > aux imprécisions de la machine.
ici la machine calcule avec une imprécision de l'ordre de 10-15 près,
il faut donc choisir e > 10-15, avec de la marge pour tenir compte des accumulations d'erreurs au cours du calcul.
on peut dire si la valeur absolue de y est < 0.00000001 par exemple
Je comprend mieux, mais je ne sais pas quoi changer dans le test et les sorties de l'algorithme pour régler le problème.
je te l'ai écrit :
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :