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 :

Analyse d'une fonction


Sujet :

Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Par défaut Analyse d'une fonction
    Bonjour , j'ai une fonction sous les yeux et j'ai quelques petites questions la concernant svp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function transforme(n : CARDINAL ) : CARDINAL;
    var
    r,m : CARDINAL;
    begin
    r := 0;
    m := n;
    while m<>0 do begin
    r := r*10 + (m mod 10);
    m := m div 10;
    end {while};
    transforme := r;
    end {transforme};
    Ma 1ère question est : dans les paramètres de la fonction , on déclare une variable de type cardinal nommée n , c'est en fait la variable que manipule la fonction ? Car après en fait on déclare 2 autres variables dont l'une prend comme valeur n , on aurait pas pû déclarer r et n tout simplement , au lieu de rajouter m ?

    Ma seconde question est: quand on écrit m div 10 , si par exemple j'ai m = 2816 , le résultat de m div 10 c'est 281 ? En fait le div est un opérateur qui arrête la division pour que le résultat soit un entier ?

    Ma dernière question est : je ne vois vraiment pas à quoi sert ce transforme := r après la boucle franchement...

    Merci de vos éclaircissements .

  2. #2
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    bonjour,
    une petite lecture sur les fonctions en pascal t'eclaircira un peu je pense

    ici

  3. #3
    Membre expérimenté Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Par défaut
    Bonjour,
    T'es visiblement un débutant, la première chose à faire est de lire des cours, (livres en pdf ou papier), ensuite passer sur la FAQ, ensuite regarder les questions résolues du forum, et enfin poster tes questions.
    [FONT=&quot][/FONT]
    Vu que je n’ai rien d’autre à faire, je vais t’aider (un peu) ;
    -1- une fonction ne modifie pas les variables misent en paramètres avant de les avoir copié, même si ton compilateur le permet : il faut être rigoureux en programmation, et cette règle doit être suivie.
    -2- div permet d’effectuer des divisions euclidienne ; pour des divisions de réelles "REAL", utilise "/" ;
    -3- une fonction retourne forcément une valeur : en c++ et d’autre langage, t’aurais mis "return nomDEmaFonction" ;
    en pascal t’écrit "nomDEmaFonction := résultat"

  4. #4
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Citation Envoyé par Ultima
    une fonction ne modifie pas les variables misent en paramètres avant de les avoir copié, même si ton compilateur le permet : il faut être rigoureux en programmation, et cette règle doit être suivie.
    dois-je comprendre qu'on a pas le droit de modifier une variable passé en parametre d'une fonction?

  5. #5
    Membre expérimenté Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Par défaut
    Bonsoir,
    en effet Krachik, la syntaxe correct (mais "bizarre") pour une fonction est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function fonc(const param1, param2 :TYPE1) :TYPE2;
    ainsi le compilateur te prévient si tu essaies de toucher au paramètre, puisque ce dernier est une constante.
    Toutefois, il arrive que tu trouve des fonctions du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     function fonc(var param1 :TYPE1) :TYPE2;
    c'est une autre histoire (que je ne connais pas encore très bien);
    mais en tout cas pour ce dernier cas, tu peut modiffier le paramètre.

  6. #6
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    merci pour la reponse,mais juste pour verifier j'ai lancer l'aide de turbo pascal(j'utilise TP7) et voila ce que l'aide m'indique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Function nomfonct :type
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Function nomfonct(parametres:type ):type
    Alors ma question est ,est ce que tu ne confonds pas par hasard Delphi et TP7?
    je sais dans quel cas on peut modifier les parametres mais je ne savais pas qu'on n'avait pas le droit de les modifier
    alors une derniere question:est ce que un bon code peut modifier les parametres d'une fonction ou bien c'est une habitude a ne pas prendre?
    merci @

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/04/2015, 11h01
  2. analyse d'une fonction
    Par mimosa13 dans le forum MATLAB
    Réponses: 3
    Dernier message: 03/06/2013, 23h05
  3. lecture de fichier via une fonction d'analyse
    Par Rniamo dans le forum C++
    Réponses: 2
    Dernier message: 17/07/2008, 16h28
  4. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

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