SYLLABUS COMPLET
ALGORITHMIQUE ET PROGRAMMATION —
NIVEAU L1
Étudiant : Evariste NTOTO MABIDI
Objectif : maîtriser l'analyse algorithmique puis traduire les algorithmes en C++ et Python.
Progression couverte : du début du cours jusqu'aux fonctions, tableaux, matrices, fichiers, algorithmes classiques
et programmation C++ travaillés ensemble.
1. Introduction à l'algorithmique
• Définition d'un algorithme : suite d'instructions permettant de résoudre un problème.
• Structure générale : Début … Fin.
• Méthode : comprendre le problème, identifier les données, les traitements et les résultats.
2. Variables et types
• Déclaration et affectation des variables.
• Types : entier, réel, caractère, chaîne de caractères et booléen.
• Exemple : Var age : entier ; age ← 20.
3. Entrées et sorties
• Lire permet de récupérer une donnée.
• Écrire/Afficher permet de présenter une information ou un résultat.
• Exemple : Lire a ; Afficher a.
4. Opérations et opérateurs
• Arithmétiques : +, -, ×, /.
• Modulo : MOD, utilisé notamment pour tester pair/impair et la divisibilité.
• Comparaisons : =, ≠, <, >, ≤, ≥.
• Logiques : ET, OU, NON.
5. Les trois structures fondamentales
• Structure séquentielle : instructions exécutées dans l'ordre.
• Structure conditionnelle : Si … Alors … Sinon … FinSi.
• Structure répétitive : Pour, TantQue, Répéter … Jusqu'à.
6. Conditions
• Tester si un nombre est positif, négatif ou nul.
• Comparer deux nombres.
• Tester la divisibilité par 5.
• Tester pair/impair avec n MOD 2.
7. Boucle Pour
• Compter de 1 à 10.
• Compter de 10 à 1 avec un pas de -1.
• Accumuler une somme avec une boucle.
8. Boucles TantQue et Répéter
• Répéter une opération tant qu'une condition est vraie.
• Valider une donnée, par exemple une note comprise entre 0 et 20.
• Différence : TantQue peut ne pas s'exécuter ; Répéter s'exécute au moins une fois.
9. Tableaux
• Déclarer et parcourir un tableau.
• Lire 5 notes et les afficher.
• Calculer somme, moyenne, minimum et maximum.
• Recherche d'une valeur et position.
10. Algorithmes classiques
• Factorielle : n! = n × (n-1) × … × 1.
• Nombre premier.
• PGCD par l'algorithme d'Euclide.
• PPCM = (a × b) / PGCD(a,b).
• Suite de Fibonacci et suites obtenues par récurrence.
11. Recherche et tri
• Recherche séquentielle dans un tableau.
• Tri à bulles : comparaison d'éléments voisins et échanges.
• Notion de tri par sélection et recherche du minimum.
12. Fonctions et procédures
• Définir une fonction avec paramètres.
• Retourner une valeur.
• Appeler une fonction depuis le programme principal.
• Exemples : Produit(a,b), Carré(n), Factorielle(n), EstPremier(n), PGCD(a,b), PPCM(a,b).
13. Matrices
• Tableau à deux dimensions M[i][j].
• Parcourir une matrice avec deux boucles imbriquées.
• Afficher une matrice.
• Calculer la somme des éléments d'une matrice 3×3.
14. Chaînes de caractères
• Stocker et lire un nom ou un prénom.
• Afficher une phrase contenant plusieurs chaînes.
• Parcourir les caractères d'une chaîne.
15. Fichiers
• Ouvrir un fichier.
• Lire son contenu.
• Écrire des informations dans un fichier.
• Fermer le fichier.
• Exemple : enregistrer le nom et l'âge d'un étudiant dans [Link].
16. Traduction Algorithme → C++
• Début/Fin → int main() { … }.
• Lire → cin >>.
• Écrire/Afficher → cout <<.
• Affectation ← → =.
• MOD → %.
• Si/Sinon → if/else.
• Pour → for.
• TantQue → while.
• Vrai/Faux → true/false.
• Fonction → fonction C++ avec type de retour.
17. Exercices C++ réalisés
• Somme de deux nombres.
• Pair ou impair.
• Moyenne de 5 notes avec tableau et condition Admis/Échec.
• Fonction carré.
• Fonction factorielle.
• Fonction EstPremier.
• Fonction PGCD.
• Prochaine application : fonction PPCM.
18. Méthode de résolution d'un exercice
• 1. Lire attentivement l'énoncé.
• 2. Identifier les entrées.
• 3. Identifier les sorties.
• 4. Choisir les variables et structures.
• 5. Écrire l'algorithme.
• 6. Tester avec un exemple.
• 7. Traduire en C++ ou Python.
• 8. Vérifier les erreurs et les cas particuliers.
Exemples essentiels à mémoriser
Pair / impair
Si n MOD 2 = 0 Alors
Afficher "Le nombre est pair"
Sinon
Afficher "Le nombre est impair"
FinSi
Moyenne de 5 notes
Somme ← 0
Pour i allant de 1 à 5 Faire
Lire Note[i]
Somme ← Somme + Note[i]
FinPour
Moyenne ← Somme / 5
PGCD
TantQue b ≠ 0 Faire
Reste ← a MOD b
a ← b
b ← Reste
FinTantQue
Retourner a
Fonction carré en C++
int carre(int n) {
return n * n;
Fonction PGCD en C++
int pgcd(int a, int b) {
int reste;
while (b != 0) {
reste = a % b;
a = b;
b = reste;
return a;
Mini-évaluation de fin
1. Écrire un algorithme qui lit deux nombres et affiche le plus grand.
2. Lire 10 nombres dans un tableau et afficher le plus petit.
3. Écrire une fonction qui vérifie si un nombre est premier.
4. Calculer le PGCD et le PPCM de deux nombres.
5. Traduire ces solutions en C++.