Module 1 : Fonctions et
Procédures
UE : Structures de données avancées
– Génie Logiciel Niveau II
Durée : 2h
Objectifs pédagogiques
• - Définir fonction et procédure
• - Différencier fonction et procédure
• - Comprendre passage de paramètres
• - Illustrer avantages des sous-programmes
• - Écrire exemples simples en pseudo-code et
C/Java
Introduction aux sous-programmes
• - Définition : bloc d’instructions indépendant
• - Types : Procédure (pas de retour), Fonction
(retourne une valeur)
• - Avantages :
• • Réutilisabilité
• • Lisibilité
• • Maintenance facilitée
• Exemple :
Procédures
• Pseudo-code :
• Procédure AfficherMessage()
• Afficher("Bienvenue au cours")
• FinProcédure
• C:
• void afficherMessage() {
• printf("Bienvenue au cours\n");
• }
Fonctions
• Pseudo-code :
• Fonction Carre(x : entier) : entier
• Retourner x * x
• FinFonction
• C:
• int carre(int x) { return x * x; }
• Java :
Passage de paramètres
• - Par valeur : copie transmise → variable
originale inchangée
• - Par référence : adresse transmise → variable
originale modifiée
• C (valeur) :
• void increment(int x) { x = x + 1; }
• C (référence) :
Intérêt en structures de données
• - Implémentation standardisée des opérations
(ajout, recherche, suppression)
• - Modularité du programme
• - Réutilisation du code
Exercices d’application
• 1. Procédure : lire 2 nombres et afficher leur
somme
• 2. Fonction : calculer le maximum entre 2
entiers
• 3. Implémenter factorielle (itératif et récursif)
• 4. Expliquer différence entre valeur et
référence
Schéma : Fonction vs Procédure
Schéma : Passage par valeur vs par référence