MathLvl
Seconde

Algorithmique et Python en Seconde

Variables, boucles, conditions et fonctions Python pour les maths en Seconde.

Passage de Scratch à Python : un vrai langage de programmation textuel, plus puissant et plus proche du métier. Syntaxe volontairement claire (pas de point-virgule, indentation visible) pour se concentrer sur l'algorithmique.

Au programme : variables et types (int, float, str, bool) ; entrées/sorties (input, print) ; structures de contrôle (if/elif/else, while, for) ; listes et leurs manipulations (parcours, ajout, accès par index) ; fonctions définies par def. Premiers algorithmes : calcul d'une suite uₙ, recherche d'une racine par balayage, simulation d'une expérience aléatoire avec random.

Pièges classiques : oublier l'indentation (qui structure le code) ; confondre = (affectation) et == (test) ; mal écrire une boucle for (range(n) parcourt 0 à n-1) ; problèmes de types (input renvoie une chaîne). Tester chaque programme avec des entrées variées.

Cours et fiche

📘

Leçon

Le cours complet du chapitre

Télécharger

Exercices corrigés

5 exercices
1

Plaquette 1 – Variables, boucles, conditions et fonctions

2

Plaquette 2 – Listes, parcours et accumulateurs

3

Plaquette 3 – Boucles while, seuils et algorithmes classiques

4

Plaquette 4 – Simulations aléatoires et statistiques

5

Plaquette 5 – Problèmes de synthèse : programmes complets à écrire et à corriger

Leçon complète

Algorithmique et Python en seconde : cours complet

En seconde, tu passes de Scratch à Python, un vrai langage de programmation utilisé dans la recherche, l'industrie, le web. Tu manipules variables, fonctions, boucles, conditions, listes, et tu programmes de vrais algorithmes mathématiques.

Python : les bases

Variables

a = 5          # entier
b = 3.14       # décimal (float)
nom = "Léa"    # chaîne de caractères
ok = True      # booléen

Opérations

3 + 5    # → 8
10 / 3   # → 3.333...
10 // 3  # → 3 (division entière)
10 % 3   # → 1 (reste)
2 ** 8   # → 256 (puissance)

Affichage et saisie

print("Bonjour", nom)
age = int(input("Quel âge as-tu ? "))

Conditions

if x > 0:
    print("positif")
elif x == 0:
    print("nul")
else:
    print("négatif")

Opérateurs de comparaison

  • == (égal), != (différent), <, >, <=, >=

Opérateurs logiques

  • and, or, not
if 0 < x and x < 10:
    print("entre 0 et 10")

Boucles

Boucle for

for i in range(5):       # 0, 1, 2, 3, 4
    print(i)

for i in range(1, 11):   # 1 à 10
    print(i)

Boucle while

n = 0
while n < 100:
    n = n + 1
print(n)

Listes

Définition et accès

notes = [12, 15, 18, 9, 14]
print(notes[0])     # 12 (premier élément)
print(notes[-1])    # 14 (dernier élément)
print(len(notes))   # 5

Parcours

for note in notes:
    print(note)

for i in range(len(notes)):
    print("Note", i, ":", notes[i])

Méthodes utiles

notes.append(16)    # ajouter à la fin
notes.remove(9)     # supprimer la valeur 9
notes.sort()        # trier
sum(notes)          # somme
max(notes), min(notes)

Fonctions

Définition

def carre(x):
    return x * x

print(carre(5))  # 25

Avec plusieurs paramètres

def maximum(a, b):
    if a > b:
        return a
    else:
        return b

Sans retour (procédure)

def dire_bonjour(nom):
    print("Bonjour", nom)

Algorithmes classiques

Moyenne

def moyenne(notes):
    return sum(notes) / len(notes)

PGCD (algorithme d'Euclide)

def pgcd(a, b):
    while b != 0:
        a, b = b, a % b
    return a

print(pgcd(420, 156))  # 12

Recherche dans une liste

def recherche(liste, valeur):
    for i in range(len(liste)):
        if liste[i] == valeur:
            return i
    return -1

Maximum sans utiliser max()

def mon_max(liste):
    m = liste[0]
    for x in liste:
        if x > m:
            m = x
    return m

Modules utiles

Module math

import math
math.sqrt(16)       # 4.0
math.pi             # 3.14159...
math.cos(0)         # 1.0
math.floor(3.7)     # 3 (partie entière)

Module random

import random
random.randint(1, 6)        # entier entre 1 et 6
random.random()             # entre 0 et 1
random.choice([1, 2, 3, 4]) # choix aléatoire

Programmes types

Tirage d'un dé

import random
def lancer_de():
    return random.randint(1, 6)

Simulation de la loi des grands nombres

import random

def frequence_six(n):
    cpt = 0
    for _ in range(n):
        if random.randint(1, 6) == 6:
            cpt += 1
    return cpt / n

print(frequence_six(10000))  # proche de 1/6 ≈ 0.167

Calcul itératif

def somme_n_premiers(n):
    s = 0
    for i in range(1, n+1):
        s += i
    return s

print(somme_n_premiers(100))  # 5050

Erreurs fréquentes à éviter

  • Confondre = (affectation) et == (test d'égalité).
  • Mauvaise indentation : essentielle en Python (souvent 4 espaces).
  • Index hors plage : pour une liste de longueur n, valides : 0 à n-1.
  • Boucle infinie : penser à modifier la condition de sortie.
  • Type incorrect : input() retourne toujours une chaîne, convertir avec int() ou float().

FAQ — Algorithmique et Python en seconde

Pourquoi Python plutôt que Scratch ?

Python est professionnel, utilisé dans la vraie vie (recherche, IA, web). Il prépare aux études supérieures et au monde du travail.

Comment exécuter du Python ?

Avec un éditeur EduPython, Pyzo, Thonny, ou en ligne (replit.com, basthon.fr). En lycée, Edupython est très utilisé.

Quelle est la différence entre une fonction et une procédure ?

Une fonction retourne une valeur (return). Une procédure fait une action sans retourner de valeur (juste un print() par exemple).

À quoi sert l'algorithmique ?

À résoudre n'importe quel problème : calculs scientifiques, traitement de données, intelligence artificielle, jeux, sites web…

Tous les chapitres de Seconde

Poursuis ta révision avec les autres chapitres du programme de Seconde.