Maths Seconde — Notion de fonction en algorithmique

📘 IV — Exemples d’application


Simulation de lancers de pièce :

import random

def lancer_piece():
    return 'pile' if random.randint(1,2)==1 else 'face'

def echantillon(n):
    return sum(1 for _ in range(n) if lancer_piece()=='pile')

def freq_pile(n):
    return echantillon(n) / n

for i in range(10):
    print(freq_pile(100))  # proche de 0.5

Résolution du second degré :

import math
def discriminant(a,b,c): return b**2-4*a*c

def solutions(a,b,c):
    d = discriminant(a,b,c)
    if d < 0: return None, 'Pas de solution'
    if d == 0: return (-b/(2*a),), 'Solution double'
    x1 = (-b-math.sqrt(d))/(2*a)
    x2 = (-b+math.sqrt(d))/(2*a)
    return (x1,x2), 'Deux solutions'

print(solutions(1,-5,6))  # ((2.0, 3.0), 'Deux solutions')

💡 À retenir

• Décomposer en sous-fonctions spécialisées. Une fonction peut appeler une autre fonction. Toujours tester sur des exemples simples.

Agent Tom
Bonjour ! Je suis Tom, votre assistant virtuel. Comment puis-je vous aider aujourd'hui ?