''' les trois modules à utiliser'''

import scipy.stats as scs
import random as rd
import math as m

import matplotlib.pyplot as plt

## Exercice n°1

def simulY():
    if 0<= rd.gauss(0,1) <= 1:
        return 1
    return 0


def approxbis(nbsim):
    som = 0
    for _ in range(nbsim):
        som += simulY()
    return m.sqrt(2*m.pi)*som / nbsim

print(m.sqrt(2*m.pi)*(scs.norm.cdf(1)-scs.norm.cdf(0)))

## Exercice n°2

def fonc(x):
    return 4*m.sqrt(1-x**2)

def approx4(n): # simulation de Mn
    som = 0
    for k in range(n):
        som += fonc(rd.random())
    return som / n

def graph(n):
    X = [k for k in range(1,n+1)]
    Y = [approx4(k) for k in range(1,n+1)]
    plt.plot(X,Y)
    plt.plot(X,[3.14 for k in range(1,n+1)])
    plt.show()

# ou sans approx4, fonction qui permet d'utiliser les mêmes valeurs pour g(U_i) au  fur et à mesure.

def graphbis(n):
    X = [k for k in range(1,n+1)]
    Y = [fonc(rd.random())]
    som = Y[-1]
    for k in range(2,n+1):
        som += fonc(rd.random())
        Y.append(som / k)
    plt.plot(X,Y)
    plt.plot(X,[3.14 for k in range(1,n+1)])
    plt.show()










