IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

simplification d'une expression


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 12
    Par défaut
    Bonjour, je me permets de vous demander ceci car j'ai un gros problème

    J'essaie de réaliser un programme de simplification d'expressions algébriques
    en disant que si on a
    : u + v avec v = 0 on ressort simplification(u)
    que si on a u * v avec v quotient, on
    fait u' = simplification u
    v' = simplification de v
    et on retourne
    (u' * numérateur de v' / dénominateur de v'


    MAis voila : si je dis de simplifir x * (1 / x)
    on est dans le cas du produit
    donc l'ordi me ressort x/x ... et ne simplifie pas car il n'y a pas d'appel récursif (mais quand j'en fais un ça boucle à l'infini)

    autre problème : simplification de x/(2*x)
    l'ordinateur simplifie x en x
    simplifie 2 * x en 2 * x
    et ressort donc le même résultat x/(2*x)!!!
    Comment faire algorithmiquement parlant?

    Merci d'avance pour vos réponses

  2. #2
    Membre émérite

    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 510
    Par défaut
    Cela me parait également plus un probleme d'algo de plus tu ne poste pas ton code alors cela parait assez dur de trouver ton probleme... je pense pour ton premier souci (x * (1 / x)) que lorsque tu boucle c'est ta condition de sortie de boucle qui doit etre mauvaise... a ta place je comparerai a chaque fois le résultat de la simplification avec sa précédente expression et je sortirai lorsqu'elle serait égale.

  3. #3
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par ethanlol Voir le message
    : u + v avec v = 0 on ressort simplification(u)
    que si on a u * v avec v quotient, on
    fait u' = simplification u
    v' = simplification de v
    et on retourne
    (u' * numérateur de v' / dénominateur de v'
    simplification(u/v) n'est pas simplification(u)/simplification(v)

    simplification(u/v) = a/b avec, a = u / pgcd(u,v) et b= v / pgcd(u,v) sur l'hypothese pgcd(u,v) non nul

    -> simplification(x/2.x) = 1/2 sur l'hypothese x non nul
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 190
    Par défaut
    -> simplification(x/2.x) = 1/2 sur l'hypothese x non nul
    simplification(x/2.x) ou simplification(x/(2.x))?

    Au vue de ce que j'ai compris, le problème est dans l'absence de récusion.
    Ton algo reste toujours au 'premier niveau' de simplication.

    Comme l'a dit nayah, ton problème doit être dans ta condition de sortie de boucle. Ou alors dans l'algo qui décide si deux expressions égales/équivalentes.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 12
    Par défaut
    Bonjour:
    mais le probleme c'est qu'on ne peut pas faire pgcd d'une constante et d'une variable
    et dans le second
    quand on a

    Simplification ( Terme (Variable(x),'/',Terme(Variable(x), '*',2)), je ne vois pas ce que peut faire l'algorithme?

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par ethanlol Voir le message
    Bonjour:
    mais le probleme c'est qu'on ne peut pas faire pgcd d'une constante et d'une variable
    Ah bon ? moi je dirais bien que PGCD( 2.a.b.c , 6.b.c.d ) = 2.b.c
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 12
    Par défaut
    a oui effectivement ! il va falloir m'atteler à programmer quelque part un programme de pgcd!

Discussions similaires

  1. Problème sur une expression régulière
    Par Verbal-Quint dans le forum Langage
    Réponses: 6
    Dernier message: 12/11/2004, 10h54
  2. [Regex] Vérifier qu'une chaîne respecte une expression régulière
    Par PeteMitchell dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 13/05/2004, 14h22
  3. [String] rendre une expression reguliere insensible à la case
    Par chimical dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 07/05/2004, 11h38
  4. "Différence de type dans une expression" Tquery
    Par Hakim dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/04/2004, 00h22
  5. [langage] surement une expression régulière...
    Par armada dans le forum Langage
    Réponses: 5
    Dernier message: 30/05/2003, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo