Algorithmique et programmation
Variables, boucles, fonctions en Python.
Bases de Python : variables, types et opérations
Bases de Python : variables, types et opérations
1. Qu'est-ce qu'un algorithme ?
Un algorithme est une suite finie d'instructions précises qui permet de résoudre un problème.
> Exemple du quotidien : une recette de cuisine est un algorithme ! > 1. Prendre 200g de farine > 2. Ajouter 3 œufs > 3. Mélanger pendant 2 minutes > 4. ...
En mathématiques, on utilise des algorithmes pour automatiser des calculs. On les traduit en programmes grâce à un langage de programmation : ici, Python.
---
2. Les variables
Une variable est une « boîte » dans laquelle on stocke une valeur.
Affectation
On utilise le signe = pour affecter une valeur à une variable :
`python
age = 16
prenom = "Alice"
taille = 1.72
est_majeur = False
`
| Variable | Valeur | Type |
|----------|--------|------|
| age | 16 | entier (int) |
| prenom | "Alice" | chaîne de caractères (str) |
| taille | 1.72 | nombre décimal (float) |
| est_majeur | False | booléen (bool) |
Les 4 types principaux
| Type | Nom Python | Exemples |
|------|-----------|----------|
| Entier | int | 0, 42, -7 |
| Décimal | float | 3.14, -0.5 |
| Chaîne | str | "Bonjour", 'a' |
| Booléen | bool | True, False |
> ⚠️ Attention : En Python, on n'utilise pas d'accents dans les noms de variables, et on ne met pas d'espaces. Par convention, on utilise des underscores : mon_nombre, note_maths.
---
3. Les opérations de base
Opérations sur les nombres
| Opération | Symbole | Exemple | Résultat |
|-----------|---------|---------|----------|
| Addition | + | 7 + 3 | 10 |
| Soustraction | - | 7 - 3 | 4 |
| Multiplication | | 7 3 | 21 |
| Division | / | 7 / 3 | 2.333... |
| Division entière | // | 7 // 3 | 2 |
| Reste (modulo) | % | 7 % 3 | 1 |
| Puissance | | 2 3 | 8 |
> ???? Astuce : Le modulo % est très utile ! Si n % 2 == 0, alors n est pair.
Opérations sur les chaînes
`python
prenom = "Alice"
nom = "Dupont"
nom_complet = prenom + " " + nom # "Alice Dupont" (concaténation)
cri = "Ha" * 3 # "HaHaHa" (répétition)
`
---
4. Entrées et sorties
Afficher : print()
`python
print("Bonjour !") # Affiche : Bonjour !
x = 42
print("La réponse est", x) # Affiche : La réponse est 42
`
Demander une saisie : input()
`python
prenom = input("Comment t'appelles-tu ? ")
print("Bonjour", prenom)
`
> ⚠️ Attention : input() renvoie toujours une chaîne de caractères. Pour obtenir un nombre, il faut convertir :
`python
age = int(input("Quel âge as-tu ? ")) # Convertit en entier
taille = float(input("Ta taille ? ")) # Convertit en décimal
`
---
5. Exemple complet commenté
`python
Programme qui calcule l'aire d'un rectangle
On demande les dimensions à l'utilisateur
longueur = float(input("Longueur du rectangle : ")) largeur = float(input("Largeur du rectangle : "))
aire = longueur * largeur perimetre = 2 * (longueur + largeur)
print("L'aire est", aire)
print("Le périmètre est", perimetre)
`
> Exécution exemple : > - L'utilisateur tape 5, puis 3 > - Le programme affiche : L'aire est 15.0 puis Le périmètre est 16.0
Structures de contrôle : conditions et boucles
Structures de contrôle : conditions et boucles
1. Les conditions (if / elif / else)
Les conditions permettent d'exécuter du code seulement si une condition est vraie.
Structure de base
`python
age = int(input("Ton âge : "))
if age >= 18:
print("Tu es majeur")
else:
print("Tu es mineur")
`
> ⚠️ Attention à l'indentation : le code à l'intérieur du if ou du else doit être décalé de 4 espaces (ou 1 tabulation). C'est obligatoire en Python !
Conditions multiples avec elif
`python
note = float(input("Ta note : "))
if note >= 16:
print("Très bien !")
elif note >= 14:
print("Bien")
elif note >= 10:
print("Assez bien")
else:
print("Il faut réviser...")
`
Les opérateurs de comparaison
| Opérateur | Signification | Exemple |
|-----------|--------------|---------|
| == | égal à | x == 5 |
| != | différent de | x != 0 |
| < | strictement inférieur | x < 10 |
| > | strictement supérieur | x > 0 |
| <= | inférieur ou égal | x <= 20 |
| >= | supérieur ou égal | x >= 0 |
> ⚠️ Ne confonds pas = (affectation) et == (comparaison) !
Combiner des conditions
| Mot-clé | Signification | Exemple |
|---------|--------------|---------|
| and | ET (les deux vraies) | x > 0 and x < 10 |
| or | OU (au moins une vraie) | x < 0 or x > 100 |
| not | NON (inverse) | not(x == 0) |
---
2. La boucle for
La boucle for permet de répéter des instructions un nombre de fois connu à l'avance.
Avec range()
`python
Affiche les nombres de 0 à 4
for i in range(5): print(i)Affiche : 0, 1, 2, 3, 4
`| Expression | Valeurs générées |
|-----------|-----------------|
| range(5) | 0, 1, 2, 3, 4 |
| range(1, 6) | 1, 2, 3, 4, 5 |
| range(0, 10, 2) | 0, 2, 4, 6, 8 |
| range(10, 0, -1) | 10, 9, 8, ..., 1 |
Exemple : calculer une somme
`python
Calcule la somme 1 + 2 + 3 + ... + 100
somme = 0 for i in range(1, 101): somme = somme + i print("La somme vaut", somme)Affiche : La somme vaut 5050
`> ???? Raccourci : somme = somme + i peut s'écrire somme += i
Parcourir une liste
`python
notes = [12, 15, 8, 17, 14]
for note in notes:
print(note)
`
---
3. La boucle while
La boucle while répète des instructions tant qu'une condition est vraie. On l'utilise quand on ne sait pas à l'avance combien de fois il faut répéter.
`python
Devine le nombre secret
secret = 7 proposition = int(input("Devine le nombre (entre 1 et 10) : "))while proposition != secret: if proposition < secret: print("Trop petit !") else: print("Trop grand !") proposition = int(input("Essaie encore : "))
print("Bravo, tu as trouvé !")
`
> ⚠️ Danger : Si la condition ne devient jamais fausse, la boucle tourne à l'infini ! Assure-toi toujours que la condition finira par être fausse.
---
4. Les fonctions
Une fonction est un bloc de code réutilisable qui effectue une tâche précise.
Définir une fonction
`python
def aire_rectangle(longueur, largeur):
"""Calcule l'aire d'un rectangle."""
return longueur * largeur
`
def: mot-clé pour définir une fonctionaire_rectangle: nom de la fonctionlongueur, largeur: paramètres (les données en entrée)return: renvoie le résultat
Appeler une fonction
`python
resultat = aire_rectangle(5, 3)
print(resultat) # Affiche : 15
`
Exemple : fonction mathématique
`python
def f(x):
"""La fonction f(x) = 2x² - 3x + 1"""
return 2 x2 - 3 x + 1
Calculer f(0), f(1), f(2)
for i in range(3): print(f"f({i}) = {f(i)}")Affiche : f(0) = 1, f(1) = 0, f(2) = 3
`Exemple : tester si un nombre est premier
`python
def est_premier(n):
"""Teste si n est un nombre premier."""
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
Afficher les nombres premiers jusqu'à 30
for k in range(2, 31): if est_premier(k): print(k, end=" ")Affiche : 2 3 5 7 11 13 17 19 23 29
`---
5. Les listes
Une liste est une collection ordonnée de valeurs.
`python
notes = [12, 15, 8, 17, 14]
`
| Opération | Code | Résultat |
|-----------|------|----------|
| Accéder à un élément | notes[0] | 12 (1er élément) |
| Dernier élément | notes[-1] | 14 |
| Longueur | len(notes) | 5 |
| Ajouter | notes.append(19) | [12,15,8,17,14,19] |
| Somme | sum(notes) | 66 |
| Minimum | min(notes) | 8 |
| Maximum | max(notes) | 17 |
Exemple : calculer la moyenne
`python
def moyenne(liste):
"""Calcule la moyenne d'une liste de nombres."""
return sum(liste) / len(liste)
notes = [12, 15, 8, 17, 14] print("Moyenne :", moyenne(notes))
Affiche : Moyenne : 13.2
`---
6. Récapitulatif : les structures essentielles
| Structure | Utilisation |
|-----------|------------|
| Variable | Stocker une valeur |
| if/elif/else | Faire un choix |
| for | Répéter un nombre connu de fois |
| while | Répéter tant qu'une condition est vraie |
| def | Créer une fonction réutilisable |
| Liste | Stocker plusieurs valeurs |
Exercice 1 : Programmes Python simples
facileExercice 1 : Écrire un programme qui demande 3 notes à l'utilisateur et affiche la moyenne.
Exercice 2 : Écrire un programme qui demande un nombre et dit s'il est pair ou impair.
Exercice 3 : Écrire un programme qui affiche la table de multiplication d'un nombre choisi par l'utilisateur.
Exercice 2 : Fonctions et boucles en Python
moyenExercice 1 : Écrire une fonction valeur_absolue(x) qui retourne la valeur absolue de \(x\) sans utiliser abs().
Exercice 2 : Écrire une fonction qui compte le nombre de diviseurs d'un entier \(n\).
Exercice 3 : Écrire un programme qui affiche les 20 premiers termes de la suite de Fibonacci (\(F_0 = 0\), \(F_1 = 1\), \(F_n = F_{n-1} + F_{n-2}\)).
Exercice 3 : Conditions et boucles
facileExercice 1 : Écrire un programme qui demande un âge et affiche si la personne est enfant (< 12), adolescent (12-17) ou adulte (>= 18).
Exercice 2 : Écrire un programme qui calcule la somme \(1 + 2 + 3 + ... + n\) pour un \(n\) donné par l'utilisateur.
Exercice 3 : Écrire un programme qui affiche tous les multiples de 3 entre 1 et 50.
Exercice 4 : Fonctions mathématiques en Python
moyenExercice 1 : Écrire une fonction f(x) qui retourne \(2x^2 - 3x + 1\). Afficher les valeurs de \(f\) pour \(x\) de \(-3\) à \(3\).
Exercice 2 : Écrire une fonction discriminant(a, b, c) qui calcule \(\Delta = b^2 - 4ac\) et dit si l'équation \(ax^2 + bx + c = 0\) a 0, 1 ou 2 solutions.
Exercice 3 : Écrire une fonction max_de_trois(a, b, c) qui retourne le plus grand de trois nombres sans utiliser max().
Exercice 5 : Listes et boucles
moyenExercice 1 : Écrire une fonction qui prend une liste de nombres et retourne une nouvelle liste ne contenant que les nombres pairs.
Exercice 2 : Écrire une fonction qui cherche le minimum d'une liste sans utiliser min().
Exercice 3 : Écrire une fonction qui inverse une liste sans utiliser reverse() ni [::-1].
Exercice 6 : Algorithmes classiques
difficileExercice 1 : Écrire une fonction pgcd(a, b) qui calcule le PGCD de deux nombres par l'algorithme d'Euclide.
Exercice 2 : Écrire un programme qui convertit une note sur 20 en lettre (A >= 16, B >= 14, C >= 12, D >= 10, E < 10).
Exercice 3 : Écrire un programme qui simule 1000 lancers de dé et affiche la fréquence de chaque face.
QCM - Algorithmique et programmation
Testez vos connaissances sur les bases de Python : variables, boucles, conditions et fonctions.
Temps limité : 15 minutes
Commencer le QCMAucun contrôle disponible pour ce chapitre.