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

C++ Discussion :

evaluation et calcul


Sujet :

C++

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Par défaut evaluation et calcul
    Bonjour tout le monde

    je veux un programme en c++ pour l evaluation d'une expression arithmetique avec des parentheses j ai l algorithme mai j ai eu des dificultés pour le traduire en c++
    et je veux meme le calcul de cette expression arthmetique
    est ce que je dois deposer l algorithme de ce programme ???

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 18
    Par défaut
    Salut !

    J'ai un peu de mal à comprendre la question en fait ?
    Qu'est ce que tu entends par deposer ?

    En regle generale, on decompose l'expression sous forme d'arbre

    exemple : 5*(6+3) devient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      *
    /    \
    5    +
        /  \
       6   3
    qu'on peut ensuite evaluer simplement par simple recursion...

    c'est du moins UNE methode qui a le merite d'etre assez simple...

  3. #3
    Futur Membre du Club
    Femme Profil pro
    étudiante
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : étudiante

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Par défaut evaluation
    je pense qu'en procedant ainsi, on devrait passer par une analyse lexicale et syntaxique . est ce qu'il y a un algorithme plus simple !!

  4. #4
    Membre très actif Avatar de nirgal76
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2007
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 923
    Par défaut
    tu peux d'abord transformer ton expression en Notation Polonaise Inversée (par l'algorithme de Shunting-yard)
    Et ensuite évaluer l'expression obtenue.
    C'est plein de mot savant, mais c'est simple à réaliser

    http://en.wikipedia.org/wiki/Shunting-yard_algorithm

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 18
    Par défaut
    Citation Envoyé par nirgal76 Voir le message
    tu peux d'abord transformer ton expression en Notation hongroise inversée (par l'algorithme de Shunting-yard)
    Et ensuite évaluer l'expression obtenue.
    C'est plein de mot savant, mais c'est simple à réaliser

    http://en.wikipedia.org/wiki/Shunting-yard_algorithm
    euh.. t'es sur de toi pour le "hongroise" ? C'est pas plutot "polonaise" ?
    (Et vive la HP48 !! )

  6. #6
    Membre très actif Avatar de nirgal76
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2007
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 923
    Par défaut
    Citation Envoyé par fqueinnec Voir le message
    euh.. t'es sur de toi pour le "hongroise" ? C'est pas plutot "polonaise" ?
    (Et vive la HP48 !! )
    oups, c'est corrigé merci l'ami.

    nb: On peut dire notation Postfix aussi.

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Salut

    Le sujet a été traité de nombreuses fois. Voici un sujet qui en parle. Tu peux récupérer un interpréteur qui utilise boost::spirit ici. Spirit est un peu une machine de guerre mais l'interpréteur peut faire pas mal de choses.

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/10/2015, 14h00
  2. Evaluer un calcul entre 0 et l'infini
    Par Beltharion dans le forum Octave
    Réponses: 8
    Dernier message: 28/11/2014, 15h30
  3. Réponses: 9
    Dernier message: 21/01/2009, 07h54
  4. [TP7] Calculer sin, cos, tan, sqrt via le FPU
    Par zdra dans le forum Assembleur
    Réponses: 8
    Dernier message: 25/11/2002, 04h09
  5. Algo de calcul de FFT
    Par djlex03 dans le forum Traitement du signal
    Réponses: 15
    Dernier message: 02/08/2002, 17h45

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