Je m’entraine
Algorithme
je le connais parfaitement bien. [email protected]
Qu’est-ce qu’un algorithme ?
Un algorithme est une suite d’instructions logiques et ordonnées permettant de résoudre un problème ou d’atteindre un objectif.
Il sert à décrire la manière dont on doit traiter des informations pour obtenir un résultat précis.
Nomenclature d'un Algorithme
En algorithmique, une nomenclature standard est utilisée pour structurer et écrire un algorithme de manière claire et
compréhensible.
Structure Générale d’un Algorithme
Un algorithme bien structuré suit généralement la même organisation :
Algorithme Nom_Algorithme
Début
// Déclaration des variables
Variable nom_variable : Type
// Instructions
Instruction_1
Instruction_2
...
Fin
Détails des différentes parties
1️⃣ Nom de l’algorithme
On commence toujours par nommer l’algorithme avec le mot-clé Algorithme.
Algorithme CalculerSomme
2️⃣ Déclaration des variables
On utilise le mot-clé Variable pour déclarer les variables nécessaires.
Variable nombre1, nombre2, somme : Entier
3️⃣ Début et Fin de l’algorithme
L’algorithme commence par Début et se termine par Fin.
Début
...
Fin
4️⃣ Instructions de base
Lecture (Lire), affichage (Écrire), calculs et affectations (←).
Écrire("Entrez deux nombres : ")
Lire(nombre1, nombre2)
somme ← nombre1 + nombre2
Écrire("La somme est : ", somme)
Exemples de Nomenclature
Exemple 1 : Additionner deux nombres
Algorithme Addition
Début
Variable nombre1, nombre2, somme : Entier
Écrire("Entrez le premier nombre : ")
Lire(nombre1)
Écrire("Entrez le deuxième nombre : ")
Lire(nombre2)
somme ← nombre1 + nombre2
Écrire("La somme est : ", somme)
Fin
Sortie attendue :
Entrez le premier nombre : 5
Entrez le deuxième nombre : 3
La somme est : 8
Exemple 2 : Vérifier si un nombre est pair ou impair
Algorithme PairOuImpair
Début
Variable nombre : Entier
Écrire("Entrez un nombre : ")
Lire(nombre)
Si nombre mod 2 = 0 Alors
Écrire("Le nombre est pair.")
Sinon
Écrire("Le nombre est impair.")
FinSi
Fin
Sortie attendue :
Entrez un nombre : 7
Le nombre est impair.
Récapitulatif des Mots-Clés Utilisés
Mot-clé Description Exemple
Algorithme Donne un nom à l’algorithme Algorithme MonAlgo
Début Début de l’algorithme Début
Fin Fin de l’algorithme Fin
Variable Déclaration de variables Variable age : Entier
Lire Lire une valeur entrée par l’utilisateur Lire(nom)
Écrire Afficher un message ou une valeur Écrire("Bonjour")
← Affectation d’une valeur à une variable somme ← a + b
Si ... Alors ... Sinon ... FinSi Structure conditionnelle Si x > 10 Alors ...
Pour ... FinPour Boucle avec un nombre défini d’itérations Pour i ← 1 à 10 Faire
Tant que ... FinTantQue Boucle conditionnelle Tant que x < 5 Faire
Répéter ... Jusqu’à Boucle qui s’exécute au moins une fois Répéter ... Jusqu’à x > 5
Exemples concrets d’algorithmes dans la vie quotidienne :
1️⃣ Faire un café
• Remplir la cafetière d'eau.
• Mettre du café moulu dans le filtre.
• Allumer la cafetière.
• Attendre que le café soit prêt.
• Servir le café.
2️⃣ Classer des nombres par ordre croissant
• Comparer deux nombres.
• Échanger leur position si nécessaire.
• Répéter jusqu'à ce que tous les nombres soient triés.
Caractéristiques d’un bon algorithme :
✅ Clarté : Il doit être facile à comprendre.
✅ Précision : Chaque étape doit être bien définie.
✅ Efficacité : Il doit produire un résultat en un minimum d’étapes.
✅ Finitude : Il doit avoir une fin, ne pas tourner en boucle infinie.
En algorithmique, la syntaxe et la notation sont essentielles pour exprimer clairement la logique d’un programme. Voici les principales
conventions utilisées :
1️. Syntaxe et structure d’un algorithme
Un algorithme est généralement structuré en trois parties :
1. En-tête : Contient le nom de l'algorithme.
2. Déclaration : Définit les variables utilisées.
3. Corps : Contient les instructions à exécuter.
Exemple de structure générale
Algorithme Nom_Algo
Début
// Déclaration des variables
Variable nom, âge : Entier
// Corps de l'algorithme
Écrire("Entrez votre nom :")
Lire(nom)
Écrire("Entrez votre âge :")
Lire(âge)
Si âge >= 18 Alors
Écrire(nom, " est majeur.")
Sinon
Écrire(nom, " est mineur.")
FinSi
Fin
2. Notations et conventions
Différentes notations existent selon la méthode utilisée :
• Pseudocode : Langage simplifié proche du français ou de l’anglais.
• Schéma Nassi-Shneiderman : Représentation graphique des étapes.
• Organigramme : Utilisation de diagrammes de flux.
Syntaxe des instructions courantes en pseudocode
Opération Syntaxe
Déclaration de variable Variable x : Entier
Affectation x ← 5 (ou x := 5)
Affichage Écrire("Message")
Lecture Lire(x)
Condition (Si ... Alors ... Sinon) Si condition Alors ... Sinon ... FinSi
Boucle Tant que Tant que condition Faire ... FinTantQue
Boucle Pour Pour i ← début à fin Faire ... FinPour
Fonction Fonction Nom_Fonction(param) ... Retourner valeur FinFonction
3️. Exemples d’algorithmes
Exemple 1 : Calcul de la somme de deux nombres
Algorithme Somme
Début
Variable a, b, somme : Entier
Écrire("Entrez le premier nombre :")
Lire(a)
Écrire("Entrez le deuxième nombre :")
Lire(b)
somme ← a + b
Écrire("La somme est :", somme)
Fin
Chapitre 2 : Structures de Base des Algorithmes
2.1 Variables et Types de Données
Qu’est-ce qu’une variable en algorithmique ?
Une variable est une zone mémoire qui stocke une valeur pouvant changer lors de l’exécution de l’algorithme.
Notation des variables en algorithmique
En pseudocode, on déclare une variable avec son nom et son type :
Variable nom_variable : Type
Exemples :
Variable age : Entier
Variable nom : Chaîne
Variable prix : Réel
➡️ Explication :
• Entier → Nombre entier (ex : 5, 10, -3)
• Réel → Nombre à virgule (ex : 3.14, -0.5)
• Chaîne → Texte (ex : "Bonjour")
• Booléen → Vrai ou Faux (ex : Vrai, Faux)
Types de données courants :
Type Description
Entier (Integer) Stocke des nombres entiers
Réel (Float/Double) Stocke des nombres à virgule
Caractère (Char) Stocke un seul caractère
Chaîne (String) Stocke une suite de caractères
Booléen (Boolean) Valeur vraie (True) ou fausse (False)
Exemple de pseudocode : Déclaration de variables
Début
Déclarer nom comme Chaîne
Déclarer age comme Entier
nom ← "Alice"
age ← 2️5
Afficher "Nom : ", nom
Afficher "Âge : ", age
Fin
Qu’est-ce qu’une condition en algorithmique ?
Une condition permet de tester une expression pour prendre une décision (exécuter une instruction ou non).
Exemple simple :
Si un étudiant a une note ≥ 10, il est admis, sinon il est recalé.
Syntaxe d’une condition en algorithmique
1️⃣ Condition simple (Si ... Alors ... FinSi)
Utilisée quand il y a une seule possibilité d’action.
Si condition Alors
Instructions
FinSi
Exemple : Vérifier si un nombre est positif
Algorithme Verifier_Positif
Début
Variable nombre : Entier
Écrire("Entrez un nombre : ")
Lire(nombre)
Si nombre >= 0 Alors
Écrire("Le nombre est positif.")
FinSi
Fin
2️⃣ Condition avec alternative (Si ... Alors ... Sinon ... FinSi)
Utilisée quand il y a deux possibilités d’action.
Si condition Alors
Instructions_si_vrai
Sinon
Instructions_si_faux
FinSi
Exemple : Vérifier si un nombre est pair ou impair
Algorithme Pair_Impair
Début
Variable nombre : Entier
Écrire("Entrez un nombre : ")
Lire(nombre)
Si nombre mod 2 = 0 Alors
Écrire(nombre, " est pair.")
Sinon
Écrire(nombre, " est impair.")
FinSi
Fin
3️⃣ Condition multiple (Si ... SinonSi ... Sinon ... FinSi)
Utilisée quand il y a plusieurs conditions à tester.
Si condition1 Alors
Instructions1
SinonSi condition2 Alors
Instructions2
Sinon
Instructions3
FinSi
Exemple : Vérifier si un nombre est positif, négatif ou nul
Algorithme Verifier_Signe
Début
Variable nombre : Entier
Écrire("Entrez un nombre : ")
Lire(nombre)
Si nombre > 0 Alors
Écrire("Le nombre est positif.")
SinonSi nombre < 0 Alors
Écrire("Le nombre est négatif.")
Sinon
Écrire("Le nombre est nul.")
FinSi
Fin
Notation des conditions en algorithmique
Opérateur Signification Exemple
= Égal à Si x = 10 Alors
≠ ou <> Différent de Si x ≠ 10 Alors
> Supérieur à Si x > 10 Alors
< Inférieur à Si x < 10 Alors
>= Supérieur ou égal Si x >= 10 Alors
<= Inférieur ou égal Si x <= 10 Alors
Et ET logique (&& en programmation) Si (x > 0 Et y > 0) Alors
Ou OU logique (
Non Négation (inverse) Si Non(x > 5) Alors
Récapitulatif
Concept Définition Syntaxe
VariableZone mémoire pour stocker une Variable x : Entier
valeur
Condition simple Vérifie une seule condition Si x > 10 Alors ... FinSi
Condition avec Sinon Vérifie deux cas possibles Si x > 10 Alors ... Sinon ... FinSi
Condition multiple Vérifie plusieurs conditions Si x > 10 Alors ... SinonSi x = 10 Alors ... Sinon ...
FinSi
Opérateurs de Utilisés dans les conditions =, ≠, <, >, <=, >=
comparaison
Opérateurs logiques Permettent de combiner des Et, Ou, Non
conditions
Définition d'une boucle en algorithmique
Une boucle est une structure qui permet d’exécuter un bloc d’instructions plusieurs fois, tant qu’une condition est vraie ou pendant un nombre
déterminé de répétitions.
➡️ Les boucles sont utilisées pour automatiser des tâches répétitives au lieu d’écrire plusieurs fois les mêmes instructions.
Types de boucles et leur syntaxe
Il existe trois types de boucles couramment utilisées en algorithmique :
1️⃣ Boucle "Pour" (Itération définie)
• Utilisée lorsque l’on sait à l’avance combien de fois l’instruction doit être répétée.
• On définit un compteur qui évolue à chaque itération.
Syntaxe en pseudocode :
Pour i ← début à fin Faire
Instructions
FinPour
Exemple : Afficher les nombres de 1 à 5
Sortie attendue :
Algorithme Boucle_Pour
Début 1
Variable i : Entier 2
Pour i ← 1 à 5 Faire 3
Écrire(i) 4
FinPour 5
Fin
2️⃣ Boucle "Tant que" (Conditionnelle)
• Utilisée lorsque l’on ne sait pas à l’avance combien de fois on doit exécuter l’instruction.
• La condition est testée avant d’exécuter le bloc d’instructions.
Syntaxe en pseudocode :
Tant que condition Faire
Instructions
FinTantQue
Exemple : Afficher les nombres de 1 à 5 avec une boucle "Tant que"
Algorithme Boucle_TantQue
Début
Variable i : Entier Sortie attendue :
i ← 1
Tant que i ≤ 5 Faire 1
Écrire(i) 2
i ← i + 1 3
FinTantQue 4
Fin 5
3️⃣ Boucle "Répéter... Jusqu'à" (Condition post-testée)
• Similaire à Tant que, mais la condition est testée après l’exécution du bloc d’instructions.
• L’instruction s’exécute au moins une fois, même si la condition est fausse dès le début.
Syntaxe en pseudocode :
Répéter
Instructions
Jusqu'à ce que condition
Exemple : Demander un nombre positif à l'utilisateur
Algorithme Boucle_Repeter
Début
Variable nombre : Entier
Répéter
Écrire("Entrez un nombre positif :")
Lire(nombre)
Jusqu'à ce que nombre > 0
Fin
Sortie possible :
Entrez un nombre positif : -3
Entrez un nombre positif : -1
Entrez un nombre positif : 5
Récapitulatif des boucles
Type de boucle Quand l'utiliser ? Vérification de la Nombre d'itérations
condition minimum
Pour Quand le nombre d’itérations est connu Avant Peut être 0
Tant que Quand la condition est connue avant d’entrer dans la Avant Peut être 0
boucle
Répéter... Quand l’action doit s’exécuter au moins une fois Après Au moins 1
Jusqu’à
5 Exercices sur les variables, conditions et boucles en algorithmique
Ces exercices vous aideront à bien comprendre l'utilisation des variables, conditions et boucles en algorithmique.
1️⃣ Exercice 1 : Vérification de la majorité
✅ Concepts : Variables, condition Si ... Alors ... Sinon.
Énoncé :
• Demandez à l'utilisateur d'entrer son âge.
• Affichez s'il est majeur (18 ans ou plus) ou mineur (moins de 18 ans).
Exemple attendu :
Entrez votre âge : 20
Vous êtes majeur.
Entrez votre âge : 15
Vous êtes mineur.
2️⃣ Exercice 2 : Comparaison de trois nombres
✅ Concepts : Variables, conditions multiples (Si ... SinonSi ... Sinon).
Énoncé :
• L'utilisateur entre trois nombres.
• L'algorithme affiche le plus grand des trois.
Exemple attendu :
Entrez trois nombres : 12, 25, 8
Le plus grand nombre est : 25
3️⃣ Exercice 3 : Calcul de la somme des N premiers nombres
✅ Concepts : Boucle Pour, variable, addition cumulative.
Énoncé :
• L’utilisateur entre un nombre entier N.
• L’algorithme calcule et affiche la somme des N premiers nombres entiers (1 + 2 + 3 + ... + N).
Exemple attendu :
Entrez un nombre : 5
La somme des 5 premiers nombres est : 15
(1 + 2 + 3 + 4 + 5 = 15)
4️⃣ Exercice 4️ : Vérification d’un nombre positif, négatif ou nul
✅ Concepts : Variables, conditions (Si ... SinonSi ... Sinon).
Énoncé : Exemple attendu :
• Demandez à l’utilisateur d’entrer un nombre. Entrez un nombre : -5
• Affichez s’il est positif, négatif ou nul. Le nombre est négatif.
Entrez un nombre : 0
Le nombre est nul.
5⃣ Exercice 5 : Mot de passe sécurisé
✅ Concepts : Boucle Répéter ... Jusqu'à, conditions (Si ... Alors).
Énoncé :
• L’utilisateur doit entrer un mot de passe.
• Tant que le mot de passe est différent de "1234", l'algorithme lui redemande d’entrer le bon mot de passe.
• Une fois le bon mot de passe saisi, affichez "Accès autorisé" et terminez l’algorithme.
Exemple attendu :
Entrez le mot de passe : 1111
Mot de passe incorrect.
Entrez le mot de passe : 0000
Mot de passe incorrect.
Entrez le mot de passe : 1234
Accès autorisé.