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

Haskell Discussion :

Vérifier qu'une expression est bien parenthésées en Haskell


Sujet :

Haskell

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Vérifier qu'une expression est bien parenthésées en Haskell
    Bonjour,

    Je débute en Haskell et là je suis bloqué devant un exercice qui demande de vérifier qu'une expression est bien parenthésée avec une fonction récursive terminale.
    L'expression à vérifier contient uniquement des parenthèses ouvrantes et fermantes. Par exemple pour "(()()" elle doit afficher False.

    Je comprends comment répondre à cette exo en utilisant les piles dans les langages orientés objets mais là avec Haskell je ne vois pas

    Je vous remercie pour votre aide!

  2. #2
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 471
    Points : 6 109
    Points
    6 109
    Par défaut
    Bonjour,

    Il n'y a pas besoin de pile. Il suffit d'avoir un compteur de parenthèses ouvrantes pas encore fermées. Une pile, ce serait utile dans le cas où il faudrait gérer plusieurs types de parenthèse à la fois (ex : parenthèses normales, crochets et accolades).

    Concernant la fonction récursive terminale, c'est pareil que quand on code une boucle for dans un langage impératif, sauf qu'on remplace les variables locales par des paramètres de la fonction récursive.

    Donc, dans le cas présent, il faut appeler une fonction récursive terminale qui prend deux paramètres : le reste de la chaîne à parcourir et le nombre de parenthèses ouvrantes déjà rencontrées mais pas encore fermées.

    Je te laisse écrire le code.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/10/2012, 13h39
  2. Transformer une expression arithmétique bien parenthésée en un arbre binaire
    Par mohsenuss91 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 04/02/2012, 10h06
  3. Comment vérifier si une application est bien démarrée
    Par emile.coue dans le forum Weblogic
    Réponses: 1
    Dernier message: 28/05/2010, 17h39
  4. Vérifier qu'une hiérarchie est bien organisée
    Par tendre_amie007 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 04/08/2009, 16h43
  5. Vérifier qu'une partition est bien montée
    Par Olivier Regnier dans le forum Linux
    Réponses: 6
    Dernier message: 30/03/2008, 00h29

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