Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

problème avec algorithme

Posté par
anthh
20-01-12 à 22:24

Je viens de commencais le cour sur les algos et j'ai un exercice que je ne comprends pas : pouvais vous maider SVP

1. e=input("e=");
2. a=1;b=2
3. while b-a>e
4    m=(a+b)/2;
5.   if m^3/(1+m)>1 then
6.
7.   else
8.
9.   end;
10. end;
11. afficher ("a="+string(a));
12. afficher ("b="+string(b));


question: 1)quel est le rôle du programme?
          2)Ecrire ligne  6 et 8 .
          3)que représent e.
          4) quelles sont les valeurs a et b affichées pour :

e=10^2 ?    e= 10^4 ?     e=10^6 ?


MERCI DE VOTRE AIDE

Posté par
Pierre_D
re : problème avec algorithme 20-01-12 à 23:09

Bonjour Anthh,

Un indice : regarde bien la ligne 5 en pensant à la recherche de solution d'une équation.

Posté par
anthh
re : problème avec algorithme 20-01-12 à 23:38

JE NE COMPREND PAS tu pourrais maider a faire l'exercice stp

Posté par
anthh
re : problème avec algorithme 21-01-12 à 09:38

Besoin d'aide svp

Posté par
anthh
re : problème avec algorithme 21-01-12 à 10:29

sv^p j'ai vraiment besoin d'aide

Posté par
anthh
re : problème avec algorithme 21-01-12 à 13:10

svp j'ai vraiment besoin d'aide je dois faire l'éxercice pour lundi

Posté par
dhalte
re : problème avec algorithme 21-01-12 à 13:23

il s'agit de l'algorithme de recherche par dichotomie d'une racine d'une équation réelle

on regarde ce que donne l'image du milieu du segment, et suivant son signe, on restreint le segment à la moitié gauche ou droite.

Posté par
anthh
re : problème avec algorithme 21-01-12 à 13:46

oui mais alors je dois mettre quoi a la ligne 6 et 8

Posté par
dhalte
re : problème avec algorithme 21-01-12 à 15:45

une solution commentée avec Algobox
--------------------------------------------------------------------------------
Algorithme de recherche de racine d'une équation par la méthode de la dichotomie
'a' et 'b' sont les bornes de l'intervalle initial
'e' est l'erreur acceptable
La fonction est définie dans l'onglet "Utiliser une fonction numérique"
--------------------------------------------------------------------------------
1   VARIABLES
2     a EST_DU_TYPE NOMBRE
3     b EST_DU_TYPE NOMBRE
4     m EST_DU_TYPE NOMBRE
5     e EST_DU_TYPE NOMBRE
6     fa EST_DU_TYPE NOMBRE
7     fm EST_DU_TYPE NOMBRE
8   DEBUT_ALGORITHME
9     // Saisie des bornes initiales et de la marge d'erreur
10    LIRE a
11    AFFICHER "a="
12    AFFICHER a
13    LIRE b
14    AFFICHER "b="
15    AFFICHER b
16    LIRE e
17    AFFICHER "e="
18    AFFICHER e
19    // Initialisation de l'image de la borne inférieure
20    fa PREND_LA_VALEUR F1(a)
21    // On boucle tant que l'écart entre les bornes est supérieur à la marge d'erreur
22    TANT_QUE (abs(b-a)>e) FAIRE
23      DEBUT_TANT_QUE
24      // Calcul du milieu de l'intervalle et de son image
25      m PREND_LA_VALEUR (a+b)/2
26      fm PREND_LA_VALEUR F1(m)
27      // test si cette image est du signe de l'image de la borne inférieure ou du signe opposé
28      SI (fa*fm>0) ALORS
29        DEBUT_SI
30        // la racine est entre m et b, on déplace la borne inférieure
31        a PREND_LA_VALEUR m
32        fa PREND_LA_VALEUR fm
33        FIN_SI
34        SINON
35          DEBUT_SINON
36          // la racine est entre a et m, on déplace la borne supérieure
37          b PREND_LA_VALEUR m
38          FIN_SINON
39      FIN_TANT_QUE
40    AFFICHER "valeur approchée racine entre a et b : "
41    AFFICHER m
42  FIN_ALGORITHME

Fonction numérique utilisée : F1(x)=pow(x,3)/(1+x)-1
--------------------------------------------------------------------------------
exemple d'exécution avec ta fonction
--------------------------------------------------------------------------------
***Algorithme lancé***
a=1
b=2
e=1e-7
valeur approchée racine entre a et b : 1.3247179

***Algorithme terminé***
--------------------------------------------------------------------------------
et un graphe de ta fonction
problème avec algorithme

Posté par
anthh
re : problème avec algorithme 21-01-12 à 16:19

merci beaucoup mais je ne vois toujours pas se qu'il faut que je mette a la ligne 6 et 8

Posté par
dhalte
re : problème avec algorithme 21-01-12 à 16:32

que je suis déçu
je pensais que ça t'aiderait à comprendre ce qu'il fallait faire
et toi qui ne demandais qu'à obtenir la solution

mais à quoi te servirait-elle si tu n'apprends rien grâce à elle ?

Posté par
Pierre_D
re : problème avec algorithme 21-01-12 à 18:54

Bonne question , Dhalte ...

Posté par
anthh
re : problème avec algorithme 21-01-12 à 21:04

non dsl maise je ne vois pas.  peux tu me rééxpliquer stp je veux apprendre stp, sauf que je connais pas algobox mais python moi.

Posté par
dhalte
re : problème avec algorithme 21-01-12 à 21:50

tu dis connaître le langage Python et tu te révèles incapable de compléter l'algo demandé ?

le langage hyper simple de Algobox est bien mieux adapté à une première approche de la programmation par des débutants.

et de toutes manières, un algorithme peut se décrire en un langage quelconque, le point important est que la séquence des instructions qu'il réalise soit comprise, justifiée.

l'algorithme de dichotomie fonctionne ainsi (je vais le faire sur ton exemple) :
f(x)=\frac{x³}{1+x}-1

on cherche une valeur approchée de s dans l'intervalle [1;2] telle que f(s)=0
f(1)=-\frac12<0
f(2)=\frac53>0

le point important ici est que la fonction f soit monotone sur l'intervalle (la tienne est croissante) et que les signes de f(1) et f(2) soient opposés

alors, puisque f est continue sur cet intervalle, on a 1<s<2

on choisit alors le milieu de l'intervalle m=\frac{1+2}2

et on calcule l'image de ce milieu f(m)=\frac7{20}

on compare les signes de f(1) et f(m) (c'est le produit de la ligne 28)

sont-ils de même signe ? s est entre m et 2, et alors on remplace 1 par m et f(1) par f(m)
sont-ils de signes opposés ? s est entre 1 et m, et alors on remplace 2 par m

et on recommence avec ces nouvelles bornes, [1;m] ou [m;2]

on sort de cette boucle lorsque la distance entre les bornes, qui se réduit de moitié à chaque boucle, est inférieure à une marge d'erreur acceptable.

tu me donneras ta solution en langage Python, ou quoi que tu veuilles, que je le connaisse ou pas, je saurai te dire s'il est conforme, à défaut de vérifier s'il est syntaxiquement correct.

Posté par
Moustique
problème avec algorithmique 22-01-12 à 12:45

Bonjours,
Je viens de commencer le cour sur les algos et j'ai un DM toute les semaines mais là je ne comprends pas.J'ai regardeé dans mons livre et je ne trouve rien .
Pouvais vous maider SVP.  

1. e=input("e=");
2. a=1;b=2
3. while b-a>e
4    m=(a+b)/2;
5.   if m^3/(1+m)>1 then
6.
7.   else
8.
9.   end;
10. end;
11. afficher ("a="+string(a));
12. afficher ("b="+string(b));


Question: 1)quel est le rôle du programme?
          2)Ecrire ligne  6 et 8 .
          3)que représent e.
          4) quelles sont les valeurs a et b affichées pour :

e=10^2 ?    e= 10^4 ?     e=10^6 ?


MERCI POUR VOTRE AIDE

*** message déplacé ***
* Océane > le multi-post n'est pas toléré sur le forum ! *



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 1675 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 !