Algorithmique et programmation

📐 Mathématiques Seconde

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 fonction
  • aire_rectangle : nom de la fonction
  • longueur, 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

facile

Exercice 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

moyen

Exercice 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

facile

Exercice 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

moyen

Exercice 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

moyen

Exercice 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

difficile

Exercice 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 QCM

Aucun contrôle disponible pour ce chapitre.