29/10/2025
Algorithmique
Année universitaire: 2025-2026
Chapitre IV
Fonctions
1
29/10/2025
Fonctions
// un exemple de programme sans fonction
.....
Ecrire(‘’Nombre de points obtenus’’)
Ecrire(‘’au cours de cette partie’’)
.....
Ecrire(‘’Nombre de points obtenus’’)
Ecrire(‘’au cours de cette partie’’)
.....
Nous constatons qu’il renferme deux fois la même suite d’instructions :
Ecrire(‘’Nombre de points obtenus’’)
Ecrire(‘’au cours de cette partie’’)
Fonctions
Intérêt
- répéter le code correspondant autant de fois que nécessaire.
- la structure d'un programme écrit de cette manière est lourde.
Solution :
- séparer ce traitement du corps du programme et à regrouper les instructions qui le composent en un
module séparé.
Avantages :
- la lisibilité est assurée
- le programme devient modulaire
2
29/10/2025
Fonctions
Exemple
fonction message() // en-tête
{
Ecrire("Nombre de points obtenus")
Ecrire("au cours de cette partie")
}
// le programme précédent utilisant la fonction message
.....
message()
.....
message()
.....
Fonctions
Définition
Une fonction est un algorithme indépendant. L’appel (avec ou sans paramètres) de la fonction déclenche
l’exécution de son bloc d’instructions. Une fonction se termine en retournant ou non une valeur.
Il existe deux types de fonctions :
- Fonction prédéfinies
- Fonctions personnalisées
3
29/10/2025
Fonctions
Fonctions prédéfinies
Fonction Signification
Asc("N") Donner le code ASCII du caractère N
Sin(30) Calculer le sinus de 30
Ent(3,25) Donner la partie entière du chiffre 3,25
Abs(-10) Calculer la valeur absolue de -10
Alea() Générer un nombre compris entre 0 et 1
Len("Bonjour") Renvoyer le nombre de caractères d’une chaîne (qui est égal à 7 dans ce cas)
Fonctions
Fonctions personnalisées
Ce sont des fonctions écrites par l’utilisateur dans un programme et peuvent être appelées comme les
fonctions prédéfinies.
On distingue deux types de fonctions personnalisées :
- Les fonctions avec une valeur de retour
- Les fonctions sans valeur de retour appelées parfois procédures
4
29/10/2025
Fonctions
Syntaxe des fonctions
Fonction <nom_fonction> ( <liste des paramètres> ) en <type de résultat>
Début
< déclaration des variables locales à la fonction>
{ corps de la fonction}
Retourner(résultat)
Fin
Fonctions
Exemple de fonction personnalisée
// fonction qui échange le contenu de deux variables réelles
Fonction Echange (A en Réel, B en Réel )
A: -53
Début
Variable X en Réel -5
3 :B
X<-------- A
A<-------- B X: #s2e
3
B<-------- X
Fin RAM
10
5
29/10/2025
Fonctions
Exécution d’une fonction
Trois étapes sont toujours nécessaires à l’exécution d’une fonction :
1. Le programme appelant interrompt son exécution ;
2. La fonction appelée effectue son bloc d’instructions. Dès
qu’une instruction retourne est exécutée, la fonction s’arrête ;
3. Le programme appelant reprend alors son exécution.
11
Fonctions
Récursivité des fonctions
Le factoriel d’un nombre n donné est le produit des nombres entiers inférieurs ou égaux à ce nombre n. Cette définition
peut se noter de différentes façons.
Une première façon consiste à donner des exemples et à essayer de généraliser.
0! = 1
1! = 1
2! = 1 x 2
3! = 1 x 2 x3
n! = 1 si n = 0
n! = 1 * 2 * ... * (n-1) * n si n > 0
Une deuxième notation plus rigoureuse fait appel à la récurrence.
n! = 1 si n = 0
n! = n * (n-1)! si n > 0
n! se définit en fonction d’elle-même: n! = n x (n-1)!
12
6
29/10/2025
Fonctions
Récursivité des fonctions
Une fonction récursive est une fonction qui, au cours de son exécution, appelle elle-même.
Exemple :
On a la relation N! = N * (N-1)!
Fonction Fact ( N en Entier positif ) en Entier
Début
Si N = 0 alors
Retourner (1)
Sinon
Retourner ( N * Fact (N - 1) )
Finsi
Fin
13
Fonctions
Récursivité des fonctions
Fonction Fact ( N en Entier positif ) en Entier
Début
Si N = 0 alors
Retourner (1)
Sinon
Retourner (N*Fact(N-1))
Finsi
Fin
N=4 Fact(4)= 4*Fact(3) =4*3*Fact(2) =4*3*2*Fact(1) =4*3*2*1*Fact(0) =4*3*2*1*1= 24
14
7
29/10/2025
Fonctions
Exercice
Ecrire une fonction qui permet de savoir si un entier est premier.
15
Fonctions
Exercice
Ecrire une fonction qui permet de savoir si un entier est parfait.
16
8
29/10/2025
Fonctions
Exercice
Ecrire une fonction qui permet de calculer la somme des entiers de 0 jusqu’à N
a. de façon itérative.
b. de façon récursive.
17
Fonctions
Exercice
On souhaite effectuer la multiplication de deux entiers positifs x et y, en utilisant uniquement
l’addition entière.
Proposer une fonction itérative et une autre récursive.
18
9
29/10/2025
Fonctions
Exercice
Soit la suite numérique Un suivante :
Si n = 0, U0 = 4
Si n > 0, Un = 5Un-1 + 9
Ecrire un algorithme qui calcule le terme Un en utilisant une fonction récursive.
20
10