Correction des rendus du TP N°3 en expliquant
les problèmes de compréhension de la procédure et de la
fonction
J’ai pris au hasard un échantillon représentatif des réponses,
je vais essayer de faire mes remarques sur les choses qui
n’ont pas été comprises.
Quelle est la différence entre une procédures et une fonction ?
- Une procédure est un sous-programme qui ne renvoie pas de résultat. Il vaut mieux afficher
le résultat avant de quitter la procédure avec writeln. Par exemple :
Procedure psomme (a,b : integer) ;
Var z :integer ;
{z est une variable qui reçoit le résultat, elle est locale à la procédure, c’est-à-dire quand on quitte la
procédure sa valeur est perdue}
Begin
Z :=a+b ;
Writeln(‘La valeur de la somme est :’,z) ;
End ;
N.B. Quand on utilise var, ce n’est pas la même chose voire en bas les explications.
- Une fonction renvoie toujours un résultat. En fait, une fonction c’est comme en math, pour
l’appeler on fait y=f(x,y), mais cela se fait dans l’appel, c’est-à-dire dans le programme
principal. Donc une fonction renvoie un résultat et le type du résultat doit être déclaré. Par
exemple :
Function Fsomme(a,b : integer) : integer ;{le type du résultat est en rouge}
Var z :integer ;
{z est une variable qui reçoit le résultat, elle est locale à la procédure, c’est-à-dire quand on quitte la
procédure sa valeur est perdue}
Begin
Z :=a+b ;
Fsomme :=z ;
{le nom de la fonction en rouge reçoit le résultat z}
{pas d’affichage du résultat, il sera fait dans le programme principal}
End ;
Comment se fait l’appel des procédures et fonctions ?
- Je vais essayer de faire l’appel de la procédure et la fonction déjà définies plus haut dans le
programme principal, voici donc le programme principal qui contiendra le corps de chaque
sous-programme et le programme principal