Previous Page Next Page

12.5 Exemples de fonctions

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.

Previous Page Next Page


© Aflo Informatique , 2003-2004