Algorithmique et Python — fiche résumé
L'essentiel du chapitre en une page : 6 points à retenir et 7 méthodes. À relire avant un contrôle, ou à imprimer.
À retenir
1. Variables, types et affectation
Principes
Un algorithme est une suite finie et non ambiguë d'instructions. En Python, une variable reçoit une valeur avec =. Les types usuels sont int (entier), float (décimal approché), bool (booléen), str (texte) et list (liste).
2. Conditions et boucles
Instructions conditionnelles
if condition:
instructions
elif autre_condition:
autres_instructions
else:
instructions_finales
L'indentation délimite les blocs. Les connecteurs logiques sont and, or et not.
Boucles
for k in range(n):répète un bloc pourkallant de 0 àn-1.while condition:répète tant que la condition est vraie. Il faut garantir que la condition finira par devenir fausse.
3. Fonctions
Définition
Une fonction regroupe un traitement réutilisable. Ses paramètres sont locaux et return renvoie le résultat.
4. Listes
Définition et opérations
Une liste ordonnée stocke plusieurs valeurs. Pour L = [4, 7, 1], L[0] vaut 4, len(L) vaut 3 et L.append(9) ajoute 9. Les indices commencent à 0.
7. Simulations probabilistes
Nombres pseudoaléatoires
random(), importée du module random, fournit un nombre décimal dans [0 ; 1[. L'événement random() < p simule un succès de probabilité p.
Les méthodes
Ce qu'il faut savoir faire, et dans quel ordre.
Méthode 1Attention à l'égalité
x = 4 affecte 4 à x ; x == 4 teste si x vaut 4. Les opérateurs de comparaison sont <, <=, >, >=, == et !=.
Méthode 2Tester un programme
Prévoir des cas ordinaires, des cas limites et des valeurs dont le résultat est calculable à la main. Un test réussi ne prouve pas l'algorithme, mais un seul test échoué révèle une erreur.
Méthode 3Supprimer un élément
L.remove(v)supprime la première occurrence de la valeurv; une erreur survient si elle est absente.L.pop(i)supprime et renvoie l'élément d'indicei. Sans argument,L.pop()retire le dernier élément.del L[i]supprime l'élément d'indicei;del L[a:b]supprime une tranche.
Exemple : avec L = [4, 7, 4], L.remove(4) supprime la première occurrence de la valeur 4 et donne [7, 4] ; en revanche, sur la liste initiale [4, 7, 4], L.pop(1) raisonne sur l'indice et retire donc la valeur 7, laissant [4, 4].
Méthode 4Compréhension de liste
[k**2 for k in range(6)] construit [0, 1, 4, 9, 16, 25]. Cette notation compacte reste lisible pour des transformations simples.
Méthode 5Balayage
Pour repérer la première valeur où une fonction dépasse un seuil, on avance d'un pas fixé. Le résultat dépend de ce pas.
Méthode 6Dichotomie
La justification rigoureuse suppose que f est continue sur [a ; b] et que f(a)f(b) ≤ 0. Il existe alors au moins une racine ; si f est en plus strictement monotone, elle est unique. On coupe l'intervalle en deux et garde une moitié où le produit des valeurs aux bornes est négatif ou nul. Le théorème de continuité garantissant l'existence est une anticipation de Terminale ; en Première, la dichotomie est surtout expérimentée sur des fonctions usuelles dont le graphique fait apparaître la racine.
Méthode 7À éviter
- Oublier les deux-points ou l'indentation après
if,for,whileoudef. - Utiliser
=à la place de==dans un test. - Écrire
range(n)en croyant obtenir 1, ..., n. - Accéder à
L[len(L)]: le dernier indice estlen(L)-1. - Créer une boucle
whiledont aucune variable ne modifie la condition. - Confondre résultats flottants et valeurs exactes ;
0.1 + 0.2peut ne pas s'afficher exactement comme 0,3.
Le cours en détail, avec les exemples → 8 exercices corrigés