Aller au contenu principal
algorithmiqueAvant de commencer

Avant de commencer

Objectifs du Chapitre

Comprendre ce qu'est un algorithme et à quoi il sert.

Identifier les étapes essentielles d'un algorithme.

Distinguer un algorithme d'un programme informatique.

Écrire un algorithme simple en langage naturel ou en pseudo-code.

Où on va

Avant tout code, il y a un raisonnement. Ce chapitre pose la question la plus simple et la plus mal traitée du parcours : qu'est-ce qu'un algorithme, et pourquoi passer du temps à en écrire un plutôt que de se lancer directement dans le programme. La réponse tient en une phrase : un algorithme faux ne devient pas juste parce qu'on l'a tapé dans un éditeur.

Un algorithme, tu en suis déjà tous les jours : une recette de cuisine, un itinéraire GPS, le mode d'emploi d'un meuble à monter. À chaque fois, c'est une **suite d'étapes précises** pour arriver à un but. Programmer, c'est apprendre à écrire ces étapes assez clairement pour qu'une machine puisse les suivre, sans jamais deviner ce que tu voulais dire.

Ce chapitre présente la notion d'algorithme, son rôle et sa structure de base, avant même de toucher à un langage de programmation.

Pourquoi travailler l'algorithmique ?

L'algorithmique est l'art de concevoir des solutions avant même de penser à un langage de programmation. Elle nous apprend à raisonner, à analyser un problème, à structurer nos idées et à traduire la logique humaine en étapes compréhensibles par une machine.

Apprendre l'algorithmique, c'est s'exercer à penser clairement. On y découvre comment décomposer un problème complexe en petites parties simples, comment exprimer une procédure sans ambiguïté, et comment rendre une idée universelle, indépendamment de la langue, de la culture ou du langage informatique utilisé.

Le but n'est pas d'apprendre par cœur des formules, mais de savoir concevoir une démarche logique : une suite d'actions précises, testables et reproductibles. L'algorithmique est donc à la fois :

  • une méthode de réflexion, pour aborder tout problème de manière rationnelle ;
  • une base de communication, entre l'humain qui conçoit et la machine qui exécute ;
  • un pont entre l'idée et le code, entre l'intuition et la réalisation.

Que l'on programme en Python, en C ou en JavaScript, c'est toujours la même logique algorithmique qui guide nos pas.

1. Qu'est-ce qu'un algorithme ?

Un algorithme est une suite finie d'instructions non ambiguës, permettant de résoudre un problème en un nombre fini d'étapes. Il décrit la logique de la solution, indépendamment du langage de programmation.

On y retrouve toujours trois éléments :

  • Entrées : les données dont l'algorithme a besoin pour travailler.
  • Traitements : les opérations, décisions et répétitions qu'il applique.
  • Sorties : le résultat qu'il produit.

2. Les étapes essentielles

Pour construire un algorithme, on suit généralement six étapes :

  1. Analyser le problème (ce que l'on cherche, les contraintes, les cas particuliers).
  2. Décomposer en sous-problèmes simples (diviser pour régner).
  3. Définir les entrées/sorties et les variables nécessaires.
  4. Ordonner les actions (séquences, conditions, boucles).
  5. Tester avec des exemples (cas normal, cas limite, cas d'erreur).
  6. Améliorer (lisibilité, robustesse, efficacité).
À retenir

Les trois briques de tout algorithme. Tout ce que tu écriras se ramène à trois structures : la séquence (des instructions à la suite), la condition (si / sinon) et la répétition (tant que, pour). Retiens-les : ce sont les fondations de tous les chapitres suivants.

3. Algorithme ou programme ?

  • Algorithme : une description abstraite (langage naturel, pseudo-code, schéma).
  • Programme : une implémentation concrète dans un langage (Python, C, etc.).
  • Même logique → plusieurs programmes possibles, selon le langage et le style.

Autrement dit : l'algorithme, c'est l'idée ; le programme, c'est sa réalisation.

4. Exemples guidés

4.1 Trouver le maximum de deux nombres

Algorithme
Début
Lire a, b
Si a >= b Alors
max a
Sinon
max b
FinSi
Écrire max
Fin

4.2 Somme des N premiers entiers

Algorithme
Début
Lire N
s 0
Pour i de 1 à N
s s + i
FinPour
Écrire s
Fin

4.3 Conversion Celsius → Fahrenheit (langage naturel)

  1. Lire la température en °C.
  2. Calculer F = 1,8 × C + 32.
  3. Afficher F.

5. À toi de jouer

Essaie de résoudre chaque exercice avant de regarder la solution : c'est en cherchant qu'on apprend.

Exercice 1, Pair ou impair

Écris un algorithme qui lit un entier n et affiche « pair » si n est divisible par 2, sinon « impair ».

Afficher la solution
Algorithme
Début
Lire n
Si n MOD 2 = 0 Alors
Écrire "pair"
Sinon
Écrire "impair"
FinSi
Fin

MOD donne le reste de la division entière : 7 MOD 2 vaut 1, 8 MOD 2 vaut 0.

Exercice 2, Maximum de trois nombres

Lis a, b, c. Affiche le plus grand des trois.

Afficher la solution
Algorithme
Début
Lire a, b, c
max a
Si b > max Alors
max b
FinSi
Si c > max Alors
max c
FinSi
Écrire max
Fin

On part du principe que a est le plus grand, puis on corrige si l'un des deux autres le dépasse. C'est une méthode qui marche pour trois valeurs comme pour mille.

Exercice 3, Moyenne pondérée

On lit deux notes n1, n2 (coefficients 2 et 3). Affiche la moyenne.

Afficher la solution
Algorithme
Début
Lire n1, n2
moy (2 * n1 + 3 * n2) / 5
Écrire "Moyenne : ", moy
Fin

Le diviseur est 5, c'est-à-dire la somme des coefficients (2 + 3). Diviser par 2 donnerait un résultat faux.

6. Erreurs fréquentes et astuces

Les pièges à éviter

  • Les consignes ambiguës (« faire comme d'habitude ») : un algorithme ne devine rien.
  • Oublier les cas limites : zéro, nombre négatif, égalité, absence d'entrée.
  • Mélanger algorithme et code : écrire de la syntaxe de langage au lieu d'idées claires.

Les bons réflexes

  • Décompose en petites étapes nommées (sous-algorithmes, fonctions).
  • Teste à la main : simule ton algorithme sur 2 ou 3 exemples, papier et crayon.
  • Nomme tes variables de façon explicite : total, max, note2… plutôt que x ou t.

En résumé

  • Un algorithme est une suite finie d'instructions claires pour résoudre un problème.
  • On sépare la logique (l'algorithme) de l'implémentation (le programme).
  • Tout repose sur trois briques : séquence, condition, répétition.

Et ensuite ? Prochaine étape : Variables, types et affectation, on va formaliser les données que nos algorithmes manipulent, et apprendre à les lire et les afficher proprement.