Question:
différence entre procédure et fonction?
miramar
2008-02-11 10:27:17 UTC
dans le langage de programmation pascal quelle est la différence entre procédure et fonction
Sept réponses:
Le gendre idéal
2008-02-11 10:30:32 UTC
Une procédure est une suite d'instructions, une fonction renvoi une valeur.
t_cordonnier
2008-02-11 13:59:30 UTC
La seule différence est qu'une fonction renvoie une valeur. Mais les versions récentes de Pascal n'imposent même pas de l'utiliser réellement. On peut donc avoir des fonctions avec effet de bord et renvoyant une valeur, et écrire "f(x)" sans réellement se soucier de savoir la valeur retournée.



Les langages plus bas niveau comme le C ne font même plus la différence entre procédure et fonction : une procédure devient une fonction renvoyant un "void" c'est à dire un résultat vide!
Jako
2008-02-13 16:00:12 UTC
En Pascal, une fonction est tout simplement une procédure qui renvoie une valeur.



Mais toutes les deux peuvent agir sur des variables globales - c'est pas recommandé - ou sur des paramètres passés en var.
Bibi
2008-02-12 13:33:12 UTC
slt

la différence entre une fonction et une procédure est que la fonction retourne( produit ) une valeur après son exécution alors que la procédure ne retourne rien, par exemple si tu as besoin de calculer un produit tu utilise une fonction qui retourne une valeur réelle qui est le produit; voilà à quoi ressemble le code



float produit(int x, int y)

{

float p=x*y;

return(p)

}



donc comme tu voit, le nom de la fonction est précédé par le type de la valeur retourné et l'instruction "return" permet de renvoyer la valeur du produit, par contre si tu veux tout simplement afficher un message tu utilise une procédure;



void afficher()

{

print("Bonjour");

}



lors de l'appel d'une fonction, tu dois prévoir une variable qui contiendra la valeur renvoyé, pour l'exemple précédent tu fais



float z=produit(4,5);



la procédure, elle, tu l'appelle tout simplement par son nom:



afficher();



j'espère que ça t'aidera



bon courage



N.B j'ai utilisé la syntaxe du langage c++ pour les exemples
hablali
2008-02-11 14:38:29 UTC
theoriquement

une procedure peut ne pas renvoyer de valeur

et une fonction doit renvoyer une valeur
...ωαƒωαƒ... ♀
2008-02-12 09:24:22 UTC
Bonsoir;



1) La fonction renvoie un seul résultat, alors que pour la procédure tu peut en récupérer plusieurs.



2)Dans l'en-tête de la fonction, on doit déclarer le type du résultat qu'on va récupéré.



3)Dans l'instruction d'appel, pour la procédure il suffit de l'appeler par son nom; pour la fonction il faut l'affecter à une variable du même type( du même type que la fonction).
anonymous
2008-02-11 10:33:35 UTC
Une fonction renvoit une valeur qu'on peut utiliser directement. Alors que la procédure calcule et on ne récupère les valeurs calculés que sur les variables globales.



Si vous faites x:= function(y) + 1, ça fonctionne.

Par contre x := sub(y) + 1, ça ne fonctionnera pas. Il faudra faire

sub(y , z)

x := z + 1



Utiliser une fonction, économise une variable (donc de l'allocation mémoire) mais ça peut consommer plus de CPU que la procédure car vous faites une opération en plus (appel de la procédure, récupération de la valeur calculée dans z en sus de l'opération d'addition)



ça aura de l'importance quand vous cherchez à programmer correctement en optimisant votre code.


Ce contenu a été initialement publié sur Y! Answers, un site Web de questions-réponses qui a fermé ses portes en 2021.
Loading...