LES FONCTIONS - UN TYPE PARTICULIER DE PROCEDURE
Les procédures acceptent des données ou variables comme paramètres lors de
leur exécution. Les fonctions aussi acceptent des données, mais ont en plus
la particularité de renvoyer une valeur à la procédure ou au programme qui
les utilisent. Les fonctions sont utilisées pour effectuer des opérations
mathématiques comme des factorielles.
Une fonction
L'entête d'une fonction diffère légèrement de celle d'une procédure. Sa forme est la suivante:
function Nom_de_Fonction (declaration des paramètres) : type_renvoye;
Après les parenthèses des déclarations de variables prises en arguments, le
type de la valeur renvoyée (précédé par deux points) est spécifié.
function ADD_TWO ( value1, value2 : integer ) : integer; begin ADD_TWO := value1 + value2 end;Cette fonction est appelée dans le programme comme suit:
result := ADD_TWO( 10, 20 );Dès lors, quand la procédure ADD_TWO est exécutée, elle assigne à son nom la valeur à renvoyer (dans ce cas-ci 30), valeur qui est ensuite assignée à result.
program function_time (input, output);
const maxsize = 80;
type line = packed array[1..maxsize] of char;
function COUNTLETTERS ( words : line) : integer; {renvoie un entier}
var loop_count : integer; {variable locale}
begin
loop_count := 1;
while (words[loop_count] <> '.') and (loop_count <= maxsize) do
loop_count := loop_count + 1;
COUNTLETTERS := loop_count - 1
end;
var oneline : line;
letters : integer;
begin
writeln('Intoduisez une phrase terminee par un .');
readln( oneline );
letters := COUNTLETTERS( oneline );
writeln('Il y a ',letters,' lettres dans cette phrase.')
end.
Cliquez ici pour obtenir la réponse