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

Pascal Discussion :

Une fonction qui est variable


Sujet :

Pascal

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Une fonction qui est variable
    salut tout le monde,

    je voudrais que ma fonction soit une variable.
    Ainsi, le programme demanderait que l'on entre une fonction et il la calculerait
    en fonction de x, une variable qui serait aussi demander.

    merci d'avance,
    a+

  2. #2
    Blue_Strike
    Invité(e)
    Par défaut
    euh.. c'était pas trop clair
    de quel fonction tu parle ?
    et tu veux dire quoi par fonction variable ?

    ++

  3. #3
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    Je ne sais pas si c'est possible en Pascal.
    Par contre, si tu as un nombre limité de fonctions possibles (que l'utilisateur peut appeler), tu peux faire un test sur ce qu'il entre au clavier et agir en conséquence :

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    function f(x : integer) : integer;
    begin
      f := x+1;
    end;
     
    var
      fonction, variable : string;
    begin
      readln(variable);
      readln(fonction);
     
      if (fonction = "f") then
        f(variable);
      else
        writeln('la fonction ',fonction,' n''existe pas ou n''est pas utilisable.');
    end.

  4. #4
    Blue_Strike
    Invité(e)
    Par défaut
    function f(x : integer) : integer;
    .
    .
    var
    fonction, variable : string;
    .
    .
    f(variable);
    mais comment ça se fait si "variable" est une chaine de caractère ?

  5. #5
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    tsss, que de mauvaise foi ! Il suffit de transtyper ça en entier avec la fonction val. (bon, c'est vrai que pour un si petit exemple j'aurais pu faire gaffe mais on s'en aperçoit vite à la compilation.)

  6. #6
    Blue_Strike
    Invité(e)
    Par défaut
    @leien : pense à la troisième règle de ma signature et reformule le souci avec la fonction stp !

    ++

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par leien
    salut tout le monde,

    je voudrais que ma fonction soit une variable.
    Ainsi, le programme demanderait que l'on entre une fonction et il la calculerait
    en fonction de x, une variable qui serait aussi demander.

    merci d'avance,
    a+
    je vais donner un exemple précis.
    le programme demande une fonction de type: 3x²-2x, par exemple.
    le programme demande ensuite la valeur de x: 5, par exemple.
    Avec ces donnés je voudrais un programme qui soit capable de donner un
    résultat.
    le programme mettrait le résultat suivant: 3*5²-2*5=65.
    la fonction doit être variable car chaque utilisateur entrera une fonction différente.
    merci, et j'espère que mon exemple est clair.
    merci d'avance pour votre réponse.

  8. #8
    Blue_Strike
    Invité(e)
    Par défaut
    @leien : poste ton code s'il te plaît, on verra ci-après

    ++

  9. #9
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    Bonjour,

    Tu ne peux exécuter que du code compilé; ce qui veut dire que recupérer le code d'une fonction en runtime et l'exécuter n'est pas du ressort des possibilités du langage Pascal.

    Tu pourrais faire un système de plug-in etc afin d'étendre la liste des fonctions à appeler mais il s'agit d'une démarche un peu plus compliquée...

    Cependant, si la fonction a exécuter obéit à un certain prototype, par exemple dans ton cas, je dirai
    tu peux afficher un prompt pour demander à l'utilisateur d'entrer les paramètres variables et ensuite tu fais un calcul simple. Dans le cas précédent, tu demanderas donc respectivement les valeurs de a, b et c pour établir la fonction; puis x pour effectuer le calcul.

    A+

  10. #10
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    À moins de créer un analyseur syntaxique qui analyserait la chaîne saisie (par exemple : 3x²-2x) & qui effectuerait ensuite le calcul, à la manière d'un interpréteur de commandes.

    Y a du boulot !
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  11. #11
    Blue_Strike
    Invité(e)
    Par défaut
    +1, je préfère aussi l'analyseur syntaxique selon une chaine de caractère, que de donner les paramètres a, b et c puis le x chaque fois ..
    mais dans ce cas, ya plein de travail à faire, la première tâche c'est de vérifier la chaine si elle contienne des erreurs syntaxiques, puis tu extraire les données, une conversion requise, et tu calcul ...


    ++
    Dernière modification par Blue_Strike ; 13/02/2007 à 21h51.

  12. #12
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    S'il faut bien faire les choses alors il faudra gérer les regroupements.

    C'est à dire dans l'évaluation, pouvoir regrouper et factoriser les termes en x², puis les termes en x puis les constantes...

  13. #13
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    Mpffff !
    Nettement plus compliqué, là.

    Et s'il ne s'agit pas de polynômes ?
    Le programme devra-t-il en plus faire de l'analyse mathématique pour éviter toutes les erreurs du calcul numérique ?

    En fait on doit pouvoir très raisonnablement postuler que l'utilisateur a fait le nécessaire. Au pire, dans le cas du polynôme, on aura plusieurs termes de même degré. La belle affaire !

    De toute façon, le programme est déjà assez compliqué ainsi.
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  14. #14
    Blue_Strike
    Invité(e)
    Par défaut
    bonsoir,

    Vous compliquez la tâche vous deux !

    l'analyse d'erreur est meme plus dûr de la résolution de l'équation ! et si on augmente le dégré de ce polynôme chaque fois ?? ça devrait se faire de la même façon ? biensur que non ..

    lire les coeffitions séparamment, c'est la plus simple méthode

    ++

  15. #15
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    Euh ...

    Me suis-je mal exprimé ?

    Il me semble que justement je disais qu'il fallait faire simple & éviter tout ce qui pourrait s'apparenter à de l'analyse mathématique par le programme.
    J'ai même écrit :
    En fait on doit pouvoir très raisonnablement postuler que l'utilisateur a fait le nécessaire.
    Bref, si j'en crois ton précédent message, nous sommes d'accord sur la méthode.

    D'autant que je n'en connais pas d'autre !
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    je vous remercie tous pour votre réponse mais je pense que c'est trop difficile pour moi le simple programme que j'ai fait pour l'instant est un calcul de trinomes, je vous remercie tout de même. Je vous redemanderai quelques conseils quand mon niveau sera supérieur.

    a+ et encore merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 05/02/2009, 15h48
  2. Réponses: 1
    Dernier message: 17/12/2008, 08h39
  3. Réponses: 2
    Dernier message: 06/03/2008, 21h20
  4. appel d'une fonction qui est dans une autre page
    Par guppy33 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/08/2006, 12h05
  5. Peut-on executer une fonction qui est dans un iframe ??
    Par miloud dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/04/2006, 11h52

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