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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 9
    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
    Membre Expert
    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
    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
    Membre Expert
    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
    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
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 9
    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
    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 Expert
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 373
    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 !

  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.

+ 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