Lycée · 2ⁿᵈᵉ · Mathématiques
Algorithmique et programmation
Variables, instructions conditionnelles, boucles et fonctions : les bases de l'algorithmique au programme de 2nde générale
À propos de cette page
Qu'est-ce qu'un algorithme ?
Un algorithme est une suite finie et ordonnée d'instructions permettant de résoudre un problème ou d'effectuer un calcul. Les algorithmes existent bien avant l'informatique (recettes, modes d'emploi…).
Un algorithme possède :
- des données en entrée (valeurs fournies par l'utilisateur ou le contexte) ;
- des instructions (calculs, tests, boucles…) ;
- des données en sortie (résultats produits).
Variables et affectation
Une variable est un espace mémoire repéré par un nom, contenant une valeur susceptible de changer au cours de l'exécution.
Types de données courants en Python :
| Type | Notation Python | Exemple |
|---|---|---|
| Entier | $int$ | $n = 7$ |
| Décimal (flottant) | $float$ | $x = 3.14$ |
| Chaîne de caractères | $str$ | $s = "bonjour"$ |
| Booléen | $bool$ | $b = True$ |
Instructions d'entrée / sortie
Pour interagir avec l'utilisateur, on utilise des instructions de lecture (entrée) et d'affichage (sortie).
| Action | Python | Rôle |
|---|---|---|
| Entrée | $x = int(input("Entrer x : "))$ | Lit une valeur saisie au clavier |
| Sortie | $print(x)$ | Affiche une valeur à l'écran |
La fonction $input()$ renvoie toujours une chaîne de caractères. Il faut donc la convertir si l'on attend un nombre : $int(…)$ pour un entier, $float(…)$ pour un décimal.
$n = int(input("Entrez un entier : "))$
$print("Son carré est", n**2)$
Si l'utilisateur saisit 5, l'affichage sera : Son carré est 25.
Instructions conditionnelles
Une instruction conditionnelle permet d'exécuter un bloc d'instructions seulement si une condition est vraie.
$if condition :$
$bloc si vrai$
$elif autre_condition :$
$bloc sinon-si$
$else :$
$bloc sinon$
L'indentation (4 espaces ou 1 tabulation) est obligatoire en Python.
Opérateurs de comparaison : $==$ (égal), $!=$ (différent), $\lt $, $\gt $, $\lt =$, $\gt =$.
Opérateurs logiques : $and$, $or$, $not$.
$x = float(input("Entrez x : "))$
$if x \gt 0 :$
$print("Positif")$
$elif x \lt 0 :$
$print("Négatif")$
$else :$
$print("Nul")$
Boucles bornées (for)
Une boucle bornée répète un bloc d'instructions un nombre de fois déterminé à l'avance.
$for i in range(n) :$
$instruction(s)$
$range(n)$ génère les entiers de 0 à n−1 (soit n valeurs). $range(a, b)$ génère les entiers de a à b−1. $range(a, b, p)$ avance par pas de p.
On peut aussi parcourir une liste : $for x in [1, 4, 9, 16] :$
$for i in range(1, 11) :$
$print(i)$
$n = int(input())$
$s = 0$
$for i in range(1, n+1) :$
$s = s + i$
$print(s)$
Pour n = 5, on obtient s = 15.
Boucles non bornées (while)
Une boucle non bornée répète un bloc d'instructions tant qu'une condition reste vraie, sans connaître à l'avance le nombre d'itérations.
$while condition :$
$instruction(s)$
La condition est testée avant chaque itération. Si elle est fausse dès le départ, le bloc n'est jamais exécuté.
$n = 0$
$while 2**n \lt = 1000 :$
$n = n + 1$
$print(n)$
On obtient n = 10 car 210 = 1024 > 1000.
Fonctions en Python
Une fonction est un bloc d'instructions réutilisable, identifié par un nom, qui peut recevoir des paramètres et renvoyer un résultat.
$def nom_fonction(param1, param2, ...) :$
$instructions$
$return valeur$
L'instruction $return$ met fin à la fonction et renvoie la valeur indiquée. Si elle est absente, la fonction renvoie $None$.
On appelle la fonction en écrivant $nom_fonction(argument1, argument2)$.
$def maximum(a, b) :$
$if a \gt = b :$
$return a$
$else :$
$return b$
$print(maximum(3, 7))$ → affiche 7
Mise en œuvre : exemples résolus
Voici deux algorithmes complets illustrant les notions vues.
Écrire une fonction qui indique si un entier est pair ou impair.
$def parite(n) :$
$if n % 2 == 0 :$
$return "pair"$
$else :$
$return "impair"$
$print(parite(14))$ → pair
$print(parite(9))$ → impair
L'opérateur $%$ (modulo) renvoie le reste de la division euclidienne.
Partant d'un entier n > 0 : si n est pair, diviser par 2 ; sinon, remplacer par 3n + 1. Répéter jusqu'à obtenir 1.
$def collatz(n) :$
$nb_etapes = 0$
$while n != 1 :$
$if n % 2 == 0 :$
$n = n // 2$
$else :$
$n = 3*n + 1$
$nb_etapes += 1$
$return nb_etapes$
$print(collatz(6))$ → 8 étapes (6→3→10→5→16→8→4→2→1)
- Un algorithme est une suite finie d'instructions pour résoudre un problème.
- Une variable stocke une valeur ; l'affectation ($=$) lui attribue une valeur.
- $if / elif / else$ : exécution conditionnelle selon un test.
- $for i in range(n)$ : boucle répétée n fois (bornée).
- $while condition$ : boucle répétée tant que la condition est vraie (non bornée).
- $def f(x) : … return …$ : définit une fonction réutilisable.
- Ne pas confondre $=$ (affectation) et $==$ (test d'égalité).
Cours particuliers de mathématiques à Marseille, en présentiel ou à distance — un prof qui s'adapte à ton rythme et reprend ce qui coince.
Prof de maths à Marseille · Cours particuliers au lycée · Aide aux devoirs