14 chapitres5 h 38 minDébutant
Algorithmique
Cours d'algorithmique appliquée gratuit pour le BTS SIO : pseudo-code et Python, boucles, fonctions, tableaux, tris, épreuve E3 et 88 exercices corrigés.
Par Josselyn C., prof de BTS SIO. Mis à jour le .
L'essentiel
L'algorithmique est l'art d'écrire une méthode précise pour résoudre un problème, avant de la programmer. Au BTS SIO, c'est la base commune des deux options : les variables, les conditions, les boucles, les fonctions et les tableaux que tu apprends ici se retrouvent dans le JavaScript, le PHP et le C# de la programmation objet de l'option SLAM comme dans les scripts Bash et PowerShell de l'option SISR. Elle est évaluée dans l'épreuve E3 « Mathématiques pour l'informatique » : en contrôle en cours de formation, par une épreuve pratique et orale où tu écris un algorithme sur table, le programmes sur machine, puis le présentes ; en forme ponctuelle, par un exercice de l'écrit.
À la fin de ce cours, tu sauras :
- écrire un algorithme clair en pseudo-code et le traduire en Python ;
- utiliser les variables, les conditions, les trois sortes de boucles, les fonctions et les procédures ;
- manipuler des tableaux à une et deux dimensions, des chaînes de caractères et des dictionnaires ;
- programmer les algorithmes classiques : somme, maximum, comptage, recherche séquentielle et dichotomique, tris, conversions de base, PGCD, chiffrement de César ;
- faire la trace d'un algorithme inconnu, construire un jeu d'essai et corriger une erreur avec méthode ;
- préparer et réussir l'épreuve d'algorithmique de l'E3, sur table, sur machine et à l'oral.
Prérequis. Aucun. Le cours part de zéro et suppose seulement que tu sais utiliser un ordinateur.
Le langage du cours. Chaque algorithme est donné en pseudo-code, puis en Python, le langage recommandé par le référentiel du BTS SIO. Les programmes fonctionnent avec toute version récente de Python 3 ; le match du chapitre 3 demande Python 3.10 ou plus récent.
Comment travailler. Installe Python et un éditeur (chapitre 1), tape chaque programme toi-même au lieu de le copier, et prévois le résultat avant de l'exécuter. Chaque chapitre se termine par des exercices dont la réponse est masquée : cherche d'abord sur papier, ouvre ensuite. Les résultats affichés dans le cours sont ceux que tu dois obtenir.
| Ton objectif | Chapitres à travailler en priorité |
|---|---|
| Découvrir l'algorithmique | 1 à 7, dans l'ordre |
| Préparer la situation A de l'E3 (CCF) | 1 à 11, puis 13 et 14 (révise vite 1 à 3 si tu les maîtrises) |
| Préparer l'E3 en forme ponctuelle | 1 à 11, 13 et 14 |
| Consolider avant le développement (SLAM) | 6 à 10 et 12 |
| Écrire des scripts (SISR) | 2 à 5, 7 et 9 |
| Réviser la veille de l'épreuve | 5, 13 et 14 |
Sommaire
Algorithmique
0 chapitre sur 14
- Chapitre 1 : C'est quoi un algorithme ? Pseudo-code et Python21 min
- Chapitre 2 : Variables, types et affectation24 min
- Chapitre 3 : Si, alors, sinon : les structures conditionnelles23 min
- Chapitre 4 : Boucles pour, tant que et répéter27 min
- Chapitre 5 : Trace d'exécution, jeux d'essai et débogage22 min
- Chapitre 6 : Fonctions et procédures27 min
- Chapitre 7 : Tableaux et listes : les algorithmes de base25 min
- Chapitre 8 : Tableaux à deux dimensions, matrices et dictionnaires25 min
- Chapitre 9 : Chaînes de caractères et code de César24 min
- Chapitre 10 : Recherche dichotomique et algorithmes de tri26 min
- Chapitre 11 : Algorithmes des maths du BTS SIO en Python25 min
- Chapitre 12 : Pour aller plus loin : récursivité et complexité13 min
- Chapitre 13 : L'épreuve d'algorithmique de l'E3 (CCF)22 min
- Chapitre 14 : Sujets d'algorithmique corrigés type BTS SIO34 min
Questions fréquentes
C'est quoi un algorithme ?
Un algorithme est une suite finie d'instructions précises qui, à partir de données d'entrée, produit un résultat en un nombre fini d'étapes. Une recette de cuisine en est un exemple familier ; en informatique, l'exigence est plus forte, car chaque instruction doit avoir un seul sens possible pour qu'une machine l'exécute. Le chapitre 1 détaille ses propriétés : finitude, précision, entrées, sorties et effectivité.
Quelle est la différence entre un algorithme et un programme ?
L'algorithme est la méthode de résolution, indépendante de tout langage, écrite en pseudo-code ou sous forme d'organigramme. Le programme est cet algorithme traduit dans un langage que la machine sait exécuter, comme Python, C# ou PHP. Un même algorithme peut donc donner plusieurs programmes ; le programme ajoute les contraintes de syntaxe du langage.
C'est quoi le pseudo-code ?
Le pseudo-code est une façon d'écrire un algorithme en français structuré (Si … Alors, Pour … FinPour, x ← 5), assez rigoureuse pour être traduite sans ambiguïté dans n'importe quel langage. Il n'existe pas de norme officielle : l'important est de rester cohérent. Les conventions de ce cours suivent les recommandations du programme du BTS : indentation, début et fin de bloc explicites, en-tête avec le rôle, les entrées et les sorties.
Quelle est la différence entre la boucle pour et la boucle tant que ?
La boucle Pour s'utilise quand on connaît le nombre de tours avant d'entrer dans la boucle : parcourir les n cases d'un tableau, répéter 12 fois. La boucle TantQue répète tant qu'une condition est vraie, quand le nombre de tours est inconnu : saisir jusqu'à une valeur valide, attendre un seuil. Le TantQue peut ne faire aucun tour, et c'est à toi de faire évoluer la condition pour éviter la boucle infinie.
Quelle est la différence entre une fonction et une procédure ?
Une fonction calcule et renvoie une valeur, qu'on utilise dans une expression : moyenne ← Moyenne(notes). Une procédure effectue une action, comme afficher un menu ou trier un tableau sur place, sans renvoyer de valeur. En Python, les deux s'écrivent avec def : une procédure est simplement une fonction sans return, qui renvoie None (chapitre 6).
Comment se passe l'épreuve d'algorithmique du BTS SIO ?
En contrôle en cours de formation, c'est la situation A de l'épreuve E3 « Mathématiques pour l'informatique » : une heure de préparation, 30 minutes sur table puis 30 minutes sur machine, suivie d'un oral de 20 minutes (10 minutes de présentation, 10 minutes d'entretien). Elle a lieu en général en fin de première année ou en début de deuxième année. Elle compte pour un coefficient 1 sur les 3 de l'E3. En forme ponctuelle, l'algorithmique fait l'objet d'un exercice dans l'écrit de 2 heures. Le chapitre 13 détaille le déroulement et les critères.
Quel langage utiliser pour l'algorithmique au BTS SIO ?
Le référentiel recommande Python, simple, libre et largement enseigné, sans l'imposer : un autre langage est possible s'il est accepté par le centre d'examen. Pour l'écriture des algorithmes eux-mêmes, aucun formalisme n'est imposé ; le pseudo-code ou du Python écrit à la main sont tous deux acceptés, à condition d'être cohérents.
Comment faire la trace d'un algorithme ?
Dessine un tableau avec une colonne par variable et une ligne par instruction ou par tour de boucle. Écris d'abord les valeurs initiales, puis exécute l'algorithme à la main en recalculant à chaque ligne ce qui change, en testant la condition de boucle avant chaque nouveau tour. Conclus par une phrase qui dit ce que fait l'algorithme, pas seulement ce qu'il affiche (méthode et exemples).
La récursivité est-elle au programme de l'E3 ?
Non. Le référentiel du BTS SIO exclut de l'épreuve les items « récursivité » et « analyse d'algorithme » du module d'algorithmique appliquée. Ces notions restent utiles en développement et dans la poursuite d'études : le chapitre 12 en donne l'essentiel, en bonus.