0% ont trouvé ce document utile (0 vote)
8 vues10 pages

Chapitre 4

Ce document traite des fonctions en algorithmique, en expliquant leur définition, leur intérêt et leur structure. Il présente des exemples de fonctions prédéfinies et personnalisées, ainsi que la syntaxe pour les créer. De plus, il aborde des concepts avancés comme la récursivité et propose des exercices pratiques pour appliquer ces notions.

Transféré par

hibaamghar6
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues10 pages

Chapitre 4

Ce document traite des fonctions en algorithmique, en expliquant leur définition, leur intérêt et leur structure. Il présente des exemples de fonctions prédéfinies et personnalisées, ainsi que la syntaxe pour les créer. De plus, il aborde des concepts avancés comme la récursivité et propose des exercices pratiques pour appliquer ces notions.

Transféré par

hibaamghar6
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi