Qu'est-ce qu'un algorithme ?
Avant d'écrire du code, un programmeur réfléchit à la méthode. Cette méthode, c'est l'algorithme.
Un algorithme est une suite d'étapes précises qui permet de résoudre un problème. Une recette de cuisine, un itinéraire, la notice d'un meuble : ce sont des algorithmes ! Un programme, c'est un algorithme écrit dans un langage que l'ordinateur comprend.
Les trois briques
Tous les algorithmes, même les plus compliqués, sont construits avec trois briques seulement :
- La séquence : des instructions exécutées l'une après l'autre.
- Le choix : faire une chose ou une autre selon une condition (
si ... alors ... sinon). - La répétition : refaire les mêmes instructions plusieurs fois (
pour, tant que, répète).
Avec ces trois briques et des variables, on peut écrire n'importe quel programme. Oui, vraiment n'importe lequel !
De l'idée à l'algorithme
Prenons un problème : un magasin offre 10 % de réduction à partir de 50 € d'achat. Calculer le prix à payer.
D'abord, on écrit la méthode en français, étape par étape :
- Demander le montant des achats.
- Si le montant est d'au moins 50 €, retirer 10 %.
- Afficher le prix à payer.
On repère les données (le montant), le traitement (la réduction éventuelle) et le résultat (le prix). Ensuite seulement, on traduit en CoddyRun :
// Données
montant est un nombre
demande 'Montant des achats ? ' dans montant
// Traitement
aPayer est un nombre vaut montant
si montant >= 50 alors
aPayer vaut montant * 0.9
fin si
// Résultat
affiche 'Prix à payer : ' + decimal(aPayer, 2) + ' €'
Avec un langage en français, la traduction est presque mot pour mot !
Question : Dans cet algorithme, quelle brique utilise la ligne si montant >= 50 alors ? — Le choix. Une condition qui décide d'exécuter ou non des instructions : c'est le choix.
Exécuter un algorithme à la main
Pour vérifier un algorithme, on peut le dérouler à la main : on suit les instructions une par une en notant la valeur de chaque variable. Essayons :
x est un nombre vaut 3
y est un nombre vaut 5
x vaut x + y
y vaut x - y
x vaut x - y
affiche x + ' et ' + y
Ligne par ligne :
- au départ :
x = 3, y = 5 ; x vaut x + y : x = 8 ;y vaut x - y : y = 8 - 5 = 3 ;x vaut x - y : x = 8 - 3 = 5.
Le programme affiche 5 et 3 : les deux valeurs ont été échangées, sans variable supplémentaire. Astucieux, non ?
CoddyRun peut faire ce déroulement pour toi : lance l'exécution pas à pas (touche F7), et la carte « Pas à pas » montre la valeur de chaque variable après chaque ligne.
Décomposer un problème
Face à un gros problème, on le découpe en petits problèmes plus simples. Par exemple, « faire un jeu de quiz » devient :
- Préparer les questions et les réponses.
- Poser chaque question.
- Vérifier la réponse et compter les points.
- Afficher le score final.
Chaque étape devient une petite partie du programme, souvent une procédure ou une fonction. C'est la méthode de tous les programmeurs, débutants ou experts.
En résumé
- Un algorithme est une suite d'étapes précises pour résoudre un problème.
- Trois briques suffisent : séquence, choix, répétition.
- On écrit d'abord la méthode en français, puis on la traduit en code.
- On vérifie un algorithme en le déroulant à la main, ou avec le pas à pas.
- Un gros problème se découpe en petits problèmes.