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 :

Evaluer des expressions parenthésées à l'aide de la récursivité


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
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Par défaut Evaluer des expressions parenthésées à l'aide de la récursivité
    Bonsoir tout le monde j'écris ce message afin d'avoir des pistes concernant l'utilisation de la récursivité afin de réaliser des programmes tels que :

    * L'évaluation d'expressions arithmétiques parenthésées
    * Savoir si une expression est correctement parenthésée

    Je ne cherche pas à avoir des codes sources déjà faits mais plutôt des liens ou bien encore des conseils sur les livres à acheter afin de comprendre ce concept qui peut aider à réaliser les programmes que j'ai cité ci-dessus.

    En effet puisque un exemple récurrent ( sans jeu de mots ^^ ) de la récursivité est la factorielle or bien que j'ai compris comment ça marche, je ne parviens pas à comprendre l'imbrication récursif qui résulte de l'évaluation d'une expression.

    Pourriez-vous donc me donner des exercices à faire qui me permettront de me perfectionner ou bien encore comme je l'ai dit un livre qui m'aiderez en algorithmique et qui m'expliquerait correctement.

    Je souhaiterais faire ces programmes en Java, je tenais quand même à le souligner, merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    fais donc une recherche dans le forum sur tout ce qui est "évaluation d'expressions arithmétiques". Le sujet a déjà été traité mainte fois.
    En gros il faut que tu crées une grammaire qui va permettre de vérifier la bonne forme de ton expression, puis de construire un arbre pour l'évaluer.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    C'est le moment où jamais de se pencher sur Prolog et les DCG
    Java s'interface avec Prolog.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  4. #4
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Il y a toute une theorie derriere qui est tres bien developpee. C'est traite plus ou moins completement dans les bouquins d'introduction aux compilateurs. J'aime bien ceux de Grune: http://www.cs.vu.nl/~dick/MCD.html pour l'introduction a tout ce qui concerne la compilation, et http://www.cs.vu.nl/~dick/PT2Ed.html pour un bon traitement des aspects analyses lexicales et syntaxiques uniquement (je doute qu'il y ait plus complet en livre sur la matiere, il y a peut-etre plus pousse theoriquement dans les bouquins d'Aho and co datant des annees 70, la premiere edition est disponible en PDF sur le meme site)

    Pour des petits exemples, il y a eu un "defi langage fonctionnel dessus" -- mais si j'ai bonne memoire, il n'y a qu'un exemple -- en C -- n'utilisant pas de generateur. Si tu suis les liens que je donne, tu devrais retrouver un deuxieme exemple avec une autre technique.

  5. #5
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Par défaut
    Je vous remercie pour votre aide je pense avoir maintenant suffisamment de pistes pour y arriver.

    Par contre concernant les bouquins que tu m'as conseillé Jean-Marc, je ne pense pas avoir besoin d'aller jusque là pour le peu que je souhaites faire néanmoins quand je souhaiterais approfondir le domaine de la compilation cela pourra m'être utile donc merci quand même.

    J'ai également fait une recherche sur le site et il est vrai que ce genre de chose avait été traité notamment dans un cours sur la récursivité qui explique comment faire à l'aide d'un arbre mais je suis sur qu'il n'est pas impossible de faire encore plus simple avec de simples appels récursifs.

    La vérité c'est que je m'entraine sur un site d'algorithmique pour parfaire ma maitrise du Java et disons que je bute sur certains exercices qui sont du type que j'avais énoncé plus haut et à lire les énoncés de ces problèmes d'algorithmique la récursivité est très appropriée.

    Pourtant je n'arrive pas à implémenter cela est d'autant plus compliqué que le site fait plus la promotion du C ou du Caml donc le Java est un peu mis à l'écart même si il est possible de valider ses sources en Java.

    Car oui le site permet de valider ses sources afin de savoir si elle arrive à remplir un ensemble de tests d'entrés afin que celui-ci soit déclaré comme valide si il remplit toutes les conditions.

    Je vais continuer à chercher comment l'on peut traiter cela de manière récursive et pourquoi pas m'acheter un bouquin qui m'aidera à y voir plus claire mais pour l'instant je nage dans la margarine.

    Je vous remercie quand même pour vos réponses et si vous avez des choses supplémentaires à me dire je suis tout ouïe.

Discussions similaires

  1. Evaluer des expressions au sein de chaînes de caractères
    Par DamJNeT dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 18/06/2014, 15h15
  2. [RegExp] Remplacer une chaine avec l'aide des Expressions regulières
    Par Naruto_kun dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/02/2012, 11h45
  3. [À télécharger] Evaluation des expressions booléennes
    Par SfJ5Rpw8 dans le forum Vos téléchargements VB6
    Réponses: 0
    Dernier message: 14/11/2010, 18h24
  4. Réponses: 1
    Dernier message: 18/05/2007, 17h13
  5. Recherche recursive à l'aide des expressions reguliére
    Par titoff dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/12/2005, 16h42

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