Exemple 1: Calcul du nombre d'occurrences d'un caractère donné dans un texte
On obtient sans difficulté la fonction suivante:
FUNCTION CountChar ( C: Char ): Integer;
{Calcule le nombre d'occurrences d'un caractère donné C dans un texte entré caractère par caractère au clavier et se terminant par un point.}
VAR Ch: Char;
N: Integer;
BEGIN
N := 0;
REPEAT
Readln( Ch );
IF CH=C THEN N := N+1
UNTIL Ch='.'; {fin du texte}
CountChar := N
END; {-- CountChar}
Si l'on suppose la déclaration:
VAR Number_A: Integer;
l'appel de la fonction CountChar peut se faire par exemple en écrivant:
Numbre_A := CountChar( 'A' );
On affectera ainsi le nombre d'occurrences du caractère "A" à la variable Number_A de type entier.
Exemple 2: Calcul du nombre de chiffres d'un entier positif ou nul
On obtient par exemple la fonction suivante:
FUNCTION Digits ( N: Integer ): Integer;
{Détermine le nombre de chiffres d'un nombre entier N.}
VAR Count: Integer;
BEGIN
IF N=0
THEN Digits := 1
ELSE BEGIN
Count := 0;
WHILE N<>0 DO
BEGIN
Count := Count+1;
N := N DIV 10
END; {N=0}
Digits := Count
END
END; {-- Digits}
Lors de l'appel dans la séquence d'instructions suivante
VAR Number: Integer;
. . .
Number := 23471;
Writeln( Digits( Number ) );
Writeln( Number );
. . .
le résultat 5 de la valeur retournée par la fonction est imprimé ainsi que la valeur du paramètre effectif Number qui a bien gardé sa valeur initiale lors du passage par valeur, à savoir 23471.
© Aflo Informatique , 2003-2004