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

Mathématiques Discussion :

Exemple dans tuto sur Recursivitée


Sujet :

Mathématiques

  1. #1
    Membre confirmé
    Homme Profil pro
    Automaticien
    Inscrit en
    Décembre 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 149
    Par défaut Exemple dans tuto sur Recursivitée
    Bonjour

    Je viens de lire le tuto Par Axel CHAMBILY - CASADESUS
    Pétrut CONSTANTINE sur la récursivité

    http://recursivite.developpez.com/?page=page_3#LII-E

    et dans l'exemple sur la calculatrice, page3 vers une mini calculatrice j'ai un doute.

    1+2*2 donne 6, normalement c'est pas 5?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 247
    Par défaut
    Tel qu'expliquer dans le tuto, oui, ça donne 6.

    C'est le résultat que tu obtiendrait aussi sur une calculatrice basique cra les opérations faites sont :
    1+2
    =3
    3*2
    =6

    Par contre, au sens mathématique pur, 1+2*2 donne effectivement 5 car la multiplication est prioritaire. Cela veut dire que quand tu vois 1+2*2, tu dois d'abord évaluer 2*2, puis 1+resultat, soit ua total 5

    Mais une calculatrice basique, elle calcule l'expression au fur et à mesure ou tu la saisie, elle calcule donc 1+2 d'abord, puis le résultat obtenu *2

  3. #3
    Membre confirmé
    Homme Profil pro
    Automaticien
    Inscrit en
    Décembre 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 149
    Par défaut Effectivement
    Merci de la réponse, c'est vrai dans le tuto c'est marqué:

    Soit une chaîne de caractères du type "s:='5+3*4/2-5*3+4*7/2';";faisons le programme qui évalue cette chaîne de caractères.

    La première chose à faire est la séparation des termes; on doit en effet extraire tous les termes qui sont séparés par des "+" et des "-".

    Ensuite nous devons évaluer chacun des termes extraits, pour arriver à la fin à une somme (ou à une différence) de termes.
    donc d'abord les */ puis les +-...

    J'ai compliqué en mettant des parenthèses...
    je boucle sur le contenu des parenthèses mais si j'arrive sur par ex:
    2*(4-5)
    2*-1 comment faire?

  4. #4
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Je n'ai pas lu le tutoriel en question, je répondrais donc dans un cadre général.
    Tu te dois de différentier deux types d'opérateurs :
    • les opérateurs binaires
      +, -, *, /, %, ^, ... : ils n'ont de sens que s'ils sont associés à deux nombres. Ainsi, les triplets (+, 3, 8), (-, 8, 7) etc. ont du sens.
    • les opérateurs unitaires
      +, -, !, ... : ils n'ont de sens que s'ils sont associés à un (unique) nombre. On peut, à l'instar des opérateurs binaires, les représenter par des couples (+, 3), (-, 1), (!, 5) ...


    Lorsque tu établis ta structure de donnée, tu dois avoir ce point en tête. Une façon de faire est par exemple de définir une expression comme étant :
    • Soit une constante,
    • soit un opérateur unitaire + une expression
    • soit un opérateur binaire + deux expressions


    Bon courage

Discussions similaires

  1. Recherche information/tuto sur les reports dans Visual Studio
    Par vhellers dans le forum Visual Studio
    Réponses: 0
    Dernier message: 09/06/2011, 10h47
  2. Erreur 404 sur appel de vues dans tuto de Rob
    Par *.Har(d)t dans le forum MVC
    Réponses: 16
    Dernier message: 10/07/2007, 20h06
  3. [AJAX] Pb inputs dans un formulaire + fichiers docs/tutos sur Ajax!
    Par cassy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/09/2006, 11h19
  4. tuto sur MDI
    Par nicholz dans le forum Composants VCL
    Réponses: 2
    Dernier message: 25/01/2003, 17h37

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