# -*- coding: utf-8 -*-
"""
Created on Mon Feb 16 15:49:25 2026

@author: pjaub
"""

from math import comb
import matplotlib.pyplot as plt

plt.close('all')

def tracer_F_discrete(Valeurs, Probabilités):
    """ Les Valeurs sont dans l'ordre strictement croissantes, 
        Probabilités de même longueur"""
    n = len(Valeurs)
    V, P = Valeurs, Probabilités
    F = [ 0 for k in range(n+1) ]
    F[0] = P[0]
    plt.plot([V[0]-1, V[0], V[0]],[0, 0, P[0]], "k" )
    for k in range(n-1):
        F[k+1] = F[k] + P[k+1]
        plt.plot([V[k], V[k+1], V[k+1]],[F[k], F[k], F[k+1]], "k" )
    plt.plot([V[-1], V[-1] + 1],[1, 1], "k" )

plt.figure("Fonction de répartition d'une loi binomiale")
n = 30
p = 1/2
V = [ k for k in range(n+1)]
P = [comb(n, k)*p**k*(1-p)**(n-k) for k in range(n+1) ]
tracer_F_discrete(V, P)
plt.show()

plt.figure("Fonction de répartition d'une loi uniforme")
n = 10
V = [ k for k in range(1, n+1)]
P = [ 1/n for k in range(1, n+1) ]
tracer_F_discrete(V, P)
plt.show()

