Chapitre 1 — Introduction à l’algorithmique

Avant d’apprendre à coder dans un langage, il faut comprendre comment décrire une idée de manière logique et ordonnée. Ce chapitre présente la notion d’algorithme, son rôle et sa structure de base.
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 de l’algorithmique

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.

La beauté de l’algorithmique

Derrière chaque programme se cache une idée élégante, un raisonnement clair, parfois même une forme de poésie. Il existe souvent plusieurs manières de résoudre un même problème — certaines simples, d’autres astucieuses, d’autres encore d’une efficacité surprenante.

Travailler l’algorithmique, c’est apprendre à chercher la beauté dans la logique : celle d’une solution concise, équilibrée et efficace. C’est une discipline où l’on apprend à aimer la rigueur, mais aussi la créativité : chaque algorithme est une invention, une façon unique de penser un problème.

Enfin, l’algorithmique développe une qualité essentielle chez tout informaticien : la capacité à raisonner par soi-même. Plus qu’un ensemble de règles, c’est une école de pensée — un langage universel entre l’humain et la machine.

Objectifs pédagogiques
  • 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.
Plan du chapitre
  • 1. Qu’est-ce qu’un algorithme ?
  • 2. Étapes d’un algorithme
  • 3. Différence entre algorithme et programme
  • 4. Exemples guidés
  • 5. Exercices d’entraînement
  • 6. Erreurs fréquentes & Astuces
  • 7. Bilan & Transition
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.

  • Entrées : données dont l’algorithme a besoin.
  • Traitements : opérations, décisions, répétitions.
  • Sorties : résultat produit.
2. Étapes essentielles
  1. Analyser le problème (ce que l’on cherche, contraintes, 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, bord, erreur).
  6. Améliorer (lisibilité, robustesse, efficacité).

Rappels de structures : séquence → instructions à la suite ; condition → si / sinon ; répétition → tant que / pour.

3. Différence entre algorithme et programme
  • Algorithme : description abstraite (langage naturel, pseudo-code, schéma).
  • Programme : implémentation concrète dans un langage (Python, C, etc.).
  • Même logiqueplusieurs programmes possibles selon le langage et le style.
4. Exemples guidés

4.1 Trouver le maximum de deux nombres (pseudo-code)

Entrée : a, b (nombres)
Si a >= b alors
    max ← a
Sinon
    max ← b
FinSi
Sortie : max

4.2 Somme des N premiers entiers (pseudo-code)

Entrée : N (entier, N ≥ 0)
s ← 0
Pour i de 1 à N faire
    s ← s + i
FinPour
Sortie : s

4.3 Langage naturel — conversion Celsius → Fahrenheit

  1. Lire la température en °C.
  2. Calculer F = 1,8 × C + 32.
  3. Afficher F.
5. Exercices d’entraînement
Exercice 1 — Pair ou impair

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

Entrée : n
Si (n mod 2 = 0) alors
    Afficher "pair"
Sinon
    Afficher "impair"
FinSi
Exercice 2 — Maximum de trois nombres

Lire a, b, c. Afficher le plus grand des trois.

Entrée : a, b, c
max ← a
Si b > max alors max ← b
Si c > max alors max ← c
Sortie : max
Exercice 3 — Moyenne pondérée

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

Entrée : n1, n2
moy ← (2×n1 + 3×n2) / 5
Sortie : moy
6.1 Erreurs fréquentes
  • Ambiguïtés dans les consignes (« faire comme d’habitude »).
  • Oublier les cas limites (zéro, négatif, égalité, absence d’entrée).
  • Mélanger algorithme et code (syntaxe de langage au lieu d’idées claires).
6.2 Astuces
  • Décomposer en petites étapes nommées (fonctions/sous-algos).
  • Tester avec la main : simuler à la main sur 2–3 exemples.
  • Nommer les variables de façon explicite (total, max, note2…).
7. Bilan
  • Un algorithme = séquence finie d’instructions claires pour résoudre un problème.
  • On sépare la logique (algorithme) de l’implémentation (programme).
  • Trois briques : séquence, condition, répétition.
Et ensuite ?

Prochaine étape : Variables, types et entrées/sorties — formaliser les données manipulées par nos algorithmes et apprendre à les lire/afficher proprement.