ALGORITHMES ET STRUCTURES DES DONNEES 1
PLAN DU MODULE 1
LES FONDAMENTAUX DE LA PROGRAMMATION
1. Généralités 3. Les structures de contrôle
1.1 Objectifs du cours 3.1 Conditions (if /else, switch)
1.2 Présentation générale de l’algorithmique 3.2 Boucles (for, while, do-while)
1.3 Définition de l’algorithmique 3.3 Instructions de rupture (break, continue)
1.4 Analyse et résolution d’un problème 3.4 Exercices d’application
2. Concepts de base
4. Les fonctions et les procédures
2.1 Types de données
4.1 Définition, Structure et caractéristiques d’une fonction
2.2 Comment utiliser les données de l’algorithme ?
4.2 Définition et structure d’une procédure
2.3 Structure d’un algorithme et déclarations
4.3 Différences entre une fonction et une procédure
2.4 Opérateurs (arithmétiques, logiques, comparaison)
4.4 La récursivité
2;5 Lecture et écriture
4.5 Exercices d’application
2.6 Exercices d’application
ALGORITHMES ET STRUCTURES DES DONNEES 1
4. LES FONCTIONS ET LES PROCEDURES
Dans l'univers de la programmation structurée, les fonctions et les procédures constituent les piliers fondamentaux de la modularité et de
l'organisation du code. Ces structures d’encapsulation permettent de décomposer des problèmes complexes en sous-tâches plus simples et
gérables, favorisant ainsi la réutilisabilité, la lisibilité et la maintenance des programmes. Que ce soit pour éviter la redondance, améliorer la clarté
algorithmique ou faciliter le travail collaboratif, ces blocs fonctionnels représentent une abstraction essentielle qui élève le développement logiciel
au-delà de la simple séquence d'instructions pour en faire une architecture cohérente et évolutive.
ALGORITHMES ET STRUCTURES DES DONNEES 1
4.1 DEFINITION ET STRUCTURE D’UNE FONCTION
Une fonction est un sous-programme qui retourne une valeur et peut être utilisée dans une expression. Les caractéristiques d’une fonction sont :
• Retourne obligatoirement une valeur
• Appelée dans une expression
• Possède un type de retour
• Utilise le mot-clé « Retourner »
fonction CalculerMoyenne (a: réel, b: réel) : réel
fonction NomFonction (param1: type, param2: type, ...) : type
Début
début
retourner (a + b) / 2
// Instructions
Fin
retourner valeur
// Appel
fin
moyenne ← CalculerMoyenne (15, 20)
afficher("La moyenne est : ", moyenne)
ALGORITHMES ET STRUCTURES DES DONNEES 1
4.2 DEFINITION ET STRUCTURE D’UNE PROCEDURE
Une procédure est un sous-programme qui ne retourne pas de valeur et est appelée comme une instruction. Les caractéristiques d’une procédure
sont :
• Ne retourne pas de valeur
• Appelée comme une instruction simple
• Peut modifier des variables globales ou paramètres
• N’a pas de type de retour
procedure AfficherMenu ( )
Début
procedure NomProcedure (param1: type, param2: type, ...) afficher("1. Ajouter un élément")
début afficher("2. Supprimer un élément")
// Instructions afficher("3. Quitter")
fin Fin
// Appel
AfficherMenu ( )
ALGORITHMES ET STRUCTURES DES DONNEES 1
4.2.1 CONFIGURATION SOUS LARP
ALGORITHMES ET STRUCTURES DES DONNEES 1
4.2.2 UTILISATION PRATIQUE SOUS LARP
Sous LARP : Résultat :
ALGORITHMES ET STRUCTURES DES DONNEES 1
4.3. TABLEAU COMPARATIF ENTRE UN FONCTION ET UNE PROCEDURE
Aspect Fonction Procédure
Valeur de retour Oui (obligatoirement) Non
Type de retour Défini Aucun
Mot-clé retour Retourner -
Appel Dans une expression Instruction seule
Usage Calculer une valeur Effectuer une action
ALGORITHMES ET STRUCTURES DES DONNEES 1
4.4 LA RECURSIVITE
La récursivité est un concept fondamental en informatique où une fonction s'appelle elle-même pour résoudre un problème. C'est une approche
"diviser pour régner" qui brise un problème complexe en sous-problèmes identiques mais plus simples.
ALGORITHMES ET STRUCTURES DES DONNEES 1
4.4.1 DEFINITION ET STRUCTURE DE LA RECURSIVITE
Une fonction récursive est une fonction qui :
• S’appelle elle-même directement ou indirectement
• Décompose un problème en versions plus petites de lui-même
• Possède un cas de base qui s’arrête à la récursion
Les deux éléments clés de la récursivité sont :
• Cas de base (Condition d’arrêt) • Appel récursif
• Arrête la récursion • Appel de la fonction avec un paramètre modifié
• Évite les appels infinis • Doit se rapprocher du cas de base
ALGORITHMES ET STRUCTURES DES DONNEES 1
4.4.2 COMMENT FAIRE USAGE DE LA RECURSIVITE?
Fonction factoriel (x : Entier) : Entier
Déclaration des variables locales
Exemple : F, i : Entiers
==========================================
Algorithme calc_factoriel Début
Déclaration des variables Si x = 0 ou x = 1 Alors
N : Entier F -- 1
Début Sinon
Ecrire (« Veuillez écrire un nombre positif ») F -- 1
Lire N Pour i allant de 2 à x Faire
Ecrire (« Le factoriel du nombre », N, « est : », factoriel(N)) F -- F * i
Fin FinPour
FinSi
Retourne F
Fin
ALGORITHMES ET STRUCTURES DES DONNEES 1
4.4.2 COMMENT FAIRE USAGE DE LA RECURSIVITE?
Algorithme calc_factoriel
Cas de Base : F -- 1
Fonction Factoriel (x : Entier) : Entier
Cas Récursif (itérations)
Déclaration des variables locales
F -- 1 * 2 (2)
F, i : Entiers
F -- 2 * 3 (6)
Début
F -- 6 * 4 (24)
Si x = 0 ou x = 1 Alors
F -- 24 * 5 (120)
Retourne 1
Illustration de la récursivité
Sinon
Factoriel (1) = 1
Retourne x * Factoriel (x-1)
Factoriel (2) = 2 * Factoriel(1)
FinSi
Factoriel (3) = 3 * Factoriel(2)
Fin
…
…
Factoriel (N) = N * Factoriel(N-1)
Début
Ecrire (« Le factoriel du nombre », N, « est : », Factoriel (N))
Factoriel (N)
Fin
ALGORITHMES ET STRUCTURES DES DONNEES 1
4.4.3 EXERCICES SUR LA RECURSIVITE
Problème n° 1 Problème n° 2
Écrire un algorithme récursif qui calcule la somme des entiers de 1 à n. Écrire un algorithme récursif qui calcule la puissance Xn d’un entier X
par un entier n positif.
Problème n° 3 Problème n° 4
Écrire un algorithme récursif qui calcule le PGCD de deux nombres Écrire un algorithme récursif qui convertit un nombre décimal en
entiers positifs (Exple : 561 et 357) . binaire.
ALGORITHMES ET STRUCTURES DES DONNEES 1
4.4.3 EXERCICES SUR LA RECURSIVITE
Problème n° 5 Problème n° 6
Écrire un algorithme qui permet de déterminer les combinaisons Écrire un algorithme qui demande à l’utilisateur de saisir un entier
possibles de p éléments parmi n sachant que 𝐶 peut être calculé par : positif n. ensuite, à l’aide d’une fonction récursive, l’algorithme
! calcule et affiche tous les termes de la suite de Fibonacci, inférieurs
𝐶 =𝐶 +𝐶 =
! !
ou égaux à n. la suite de Fibonacci est définie comme suit :
𝐶 =1
U0 = 0
𝐶 =n U1 = 1
Un+2 = Un+1 + Un
ALGORITHMES ET STRUCTURES DES DONNEES 1
EXERCICES SUR LES CONDITIONS
1) Algorithme qui indique si le chiffre saisi est nul, positif ou négatif. 2) Algorithme qui échange les contenus de deux données numériques si
elles sont de même signe, sinon il met la somme des deux dans la première
3) Écrire un algorithme permettant de saisir trois notes (sur 20) d’un
donnée et leur produit dans la seconde.
apprenant, calculant sa moyenne et affichant cette moyenne avec
la mention(« Très bien » à partir de 16, « Bien » entre 14 et 16,
4) Écrire un algorithme qui affiche la ou les solutions d’une équation du
« Assez bien » entre 12 et 14, « Passable » entre 10 et 12,
second degré de la forme ax2 + bx + c.
« Insuffisant » en dessous de 10)