Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

algorithme

Posté par
carlalprs
12-08-15 à 18:54

On considère la fonction f définie pour tout réel x positif par f(x) = x^2 − √x − 1.
On admettra ici que la fonction f est strictement croissante sur son intervalle de définition.

On considère l'algorithme suivant composé de 16 lignes :

Initialisations :
a prend la valeur 1
b prend la valeur 2

Traitement :
Tant que b−a >0,001
m prend la valeur (a+b)/2
 Si m^2 −  racine carré de m−1 <0 alors
a prend la valeur m
Sinon
b prend la valeur m
Fin Si
Fin Tant que

Sorties :
Afficher a et b


a/ Faire fonctionner cet algorithme à la main en notant sur votre copie les 5 premières valeurs prises par a ou b.
b/Quel est le rôle de cet algorithme ?



je ne comprends pas les 2 première questions

Posté par
carlalprs
re : algorithme 12-08-15 à 18:56

dans l'algo :
Si m^2 −  (racine carré de m) −1 <0 alors

Posté par
Glapion Moderateur
re : algorithme 12-08-15 à 19:01

Bonjour, les questions ne sont pas difficiles à comprendre :
- faire fonctionner un algorithme c'est se mettre à la place du programme et exécuter chaque instruction en notant dans un tableau à chaque pas les valeurs que prennent les variables. les instructions sont simples à comprendre donc à exécuter pas à pas. Lance toi, tu devrais y arriver sans problème.

- de ça (mais il faut le faire vraiment !), il faut deviner en regardant les valeurs de sortie des variables a et b, ce que l'algorithme essaye de trouver.
cherche un peu, c'est un algorithme de dichotomies successives on l'appelle comme ça, à ton avis, qu'est-ce qu'il essaye de faire ?

Posté par
carlalprs
re : algorithme 12-08-15 à 19:08

a trouver l'encadrement de la solution de l'équation :x^2 − √x − 1=0?

Posté par
carlalprs
re : algorithme 12-08-15 à 19:09

et donc dans la question a je dois faire l'algorithme a la main, ajouter chaque valeur etc ?

Posté par
Glapion Moderateur
re : algorithme 12-08-15 à 19:16

Oui c'est ça, l'algorithme sert à trouver un encadrement de la solution de l'équation x²- √x − 1 = 0. Bien vu.
tu vois que l'intervalle [a;b] est divisé par 2 à chaque itération et ce jusqu'à ce qu'il devienne plus petit que 1/1000 donc ça va donner la solution à 1/1000 près.

Oui dans la question 1, tu dois exécuter chaque instruction et noter ce que valent à chaque fois a et b. (mais on te dit que tu peux te contenter de parcourir 5 fois la boucle).

(tu peux aussi implémenter l'algorithme dans algobox ou une calculatrice et faire fonctionner l'algorithme pas à pas. il fera le boulot à ta place)

Posté par
carlalprs
re : algorithme 12-08-15 à 19:20

la boucle c'est le traitement? d'accord merci beaucoup j'ai compris

une autres question vient :

En particulier, expliquer la ligne 8 de l'algorithme et le choix du sens de l'inégalité.


je ne vois pas du tous

Posté par
Glapion Moderateur
re : algorithme 12-08-15 à 19:32

Voilà le graphe de la fonction :
algorithme
au début a = 0 et b = 1 donc f(a) <0 et f(b) >0
le programme teste m = (a+b)/2 donc f(1/2) ~ -1.45
Si m² − √m − 1 < 0 (c'est le cas !) alors il veut garder les deux bornes qui continuent à être de signe opposé. il vaut donc que a devienne 1/2 et b reste égal à 1.
Et c'est bien ce qu'il fait. a prend la valeur m fait que a devient 1/2.

l'intervalle est donc devenu [1/2;1] et il recommence en testant maintenant m = 3/4

Posté par
Glapion Moderateur
re : algorithme 12-08-15 à 19:34

je me suis un peu trompé.
au début a = 0 et b = 2 donc f(a) <0 et f(b) >0
le programme teste m = (a+b)/2 donc f(1) = -1
si m² − √m − 1 < 0 (c'est le cas !) alors il veut garder les deux bornes qui continuent à être de signe opposé. il vaut donc que a devienne 1 et b reste égal à 2.
Et c'est bien ce qu'il fait. a prend la valeur m fait que a devient 1.

Posté par
carlalprs
re : algorithme 12-08-15 à 19:43

mais on nous dis qu'au début a = 1 et b = 2, donc je ne comprends pas votre raisonnement

Posté par
carlalprs
re : algorithme 12-08-15 à 19:46

et je ne comprends pas du tous l'explication pour la ligne 8

Posté par
Glapion Moderateur
re : algorithme 12-08-15 à 22:18

ha oui au début a=1 et b=2, OK donc le programme teste a = 1.5 mais le principe reste le même.

Posté par
carlalprs
re : algorithme 13-08-15 à 01:15

d'accord mais je ne comprend pas le principe de la ligne :si m² − √m − 1 < 0

je ne vois pas pourquoi on fait ça

Posté par
Glapion Moderateur
re : algorithme 13-08-15 à 10:12

on sait déjà que f(2) donc f(b) > 0 donc on teste si f(m) est négatif (on veut garder une borne où f(a) < 0 et une où f(b) > 0)
si oui a devient m et sinon b devient m. Dans les deux cas on reste avec un f(a)<0 et un f(b)>0 et la solution de l'équation reste bien coincée entre ces deux bornes.

Posté par
carlalprs
re : algorithme 13-08-15 à 12:23

mais a=1 donc f(a)>0 ??

Posté par
Glapion Moderateur
re : algorithme 13-08-15 à 12:31

non, regarde le graphe, f(1) = -1 < 0

Posté par
carlalprs
re : algorithme 13-08-15 à 12:47

Mais alors pourquoi au début on nous dis : a prend la valeur 1 ?

Posté par
carlalprs
re : algorithme 13-08-15 à 14:03

je ne vois pas également pourquoi on parle du signe de f(a) et f(b) car la c'est le signe de f(m)

Posté par
Glapion Moderateur
re : algorithme 13-08-15 à 14:35

on prend a = 1 et b = 2 parce que l'on a remarqué que f(1) < 0 et f(2) > 0 et donc on sait que la solution de l'équation est entre les deux.

(mais si on avait pris a = 0 et b = 5, ça aurait marché aussi)

m = (a+b)/2 donc c'est le point qui est au milieu du segment [a;b], on teste ce point et on le garde ainsi que la borne qui rend la fonction de signe opposé (pour être sur que la solution de l'équation restera entre les bornes).

Posté par
carlalprs
re : algorithme 13-08-15 à 14:45

D'accord j'ai compris donc ça veut dire qu'on garde f(m) et f(a)?

Posté par
Glapion Moderateur
re : algorithme 13-08-15 à 14:46

f(m) et f(b) (puisque f(m)<0 et f(b)>0 )

Posté par
Glapion Moderateur
re : algorithme 13-08-15 à 14:58

le sujet est souvent traité : Algorithme Algorithme Algorithme algorithme dichotomie créer un algorithme dm sur l'etude d'une fonction irrationnelle

tu devrais saisir l'algorithme dans algobox et le faire vraiment fonctionner (tu dois avoir le programme dans le dernier lien si tu veux).

Posté par
carlalprs
re : algorithme 13-08-15 à 15:05

Si f(b) et f(m) sont de signes contraires Alors a prend la valeur de m

c'est ça en gros?

Posté par
Glapion Moderateur
re : algorithme 13-08-15 à 15:06

oui (et sinon c'est b qui prend la valeur de m)

Posté par
carlalprs
re : algorithme 13-08-15 à 15:10

mais a la question : En particulier, expliquer la ligne 8 de l'algorithme et le choix du sens de l'inégalité.

je ne vois pas comment rédiger même si j'ai compris

Posté par
Glapion Moderateur
re : algorithme 13-08-15 à 15:19

si tu as compris, tu sauras le rédiger
(je ne vais pas t'écrire tout ton devoir quand même)

Posté par
carlalprs
re : algorithme 13-08-15 à 16:07

je peux vous montrer ma rédaction?

Posté par
carlalprs
re : algorithme 13-08-15 à 16:18

La ligne 8 sert à réduire l'intervalle de l'encadrement de la solution de l'équation, selon le signe de f(m) et f(b).
Si f(m) et f(b) sont de signe contraire,la solution de l'équation f(x)=0 se trouve dans l'intervalle ( a ; m ) sinon dans ( m ; b ) .


mais pour le choix du sens de l'inégalité je ne vois pas ..

Posté par
carlalprs
re : algorithme 13-08-15 à 16:42

mais comme au début on nous dis : On considère la fonction f définie pour tout réel x positif par f(x) = x^2 − √x − 1.
On admettra ici que la fonction f est strictement croissante sur son intervalle de définition

il n'y a pas de x < 0 donc f(b) et f(m) sont forcément de meme signe?

Posté par
carlalprs
re : algorithme 13-08-15 à 16:46

non j'ai rien dis j'avais mal lu sur le graphique

Posté par
carlalprs
re : algorithme 13-08-15 à 21:01

ma rédaction est elle bonne?

Posté par
carlalprs
re : algorithme 14-08-15 à 11:52

Glapion?



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1742 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !