## Exercice 1

import matplotlib.pyplot as plt

def suite1(n):
    u = 1/2
    for _ in range(n):
        u = u**2-2*u+4

    return u

def trace(n):
    Abs = [k for k in range(n)]
    Ord = [suite1(i) for i in Abs]
    plt.plot(Abs,Ord,'x')
    plt.show()
 # deux fonctions en une
def tracesuite1(n):
    Abs = [k for k in range(n+1)]
    u = 1/2
    Ord = [u]
    for _ in range(n):
        u = u**2-2*u+4
        Ord.append(u)
    plt.plot(Abs,Ord,'x')
    plt.show()

## Exercice 2

import numpy as np

def fonction2(x):
    return np.sqrt(x/(x+1))

def courbe2():
    Abs = np.linspace(0,1,1000)
    Ord = [fonction2(x) for x in Abs]
    plt.plot(Abs,Ord)
    plt.plot(Abs,Abs)
    plt.grid()
    plt.show()

## Exercice 3

def suite3(n):
    u = 1
    for k in range(n):
        u = (3*u+2)/(u+2)
    return u

def suite3bis(n):
    return (4**(n+1)-1)/(2*4**n+1)

def somme3(n):
    som = 1
    u = 1
    for k in range(n):
        u = (3*u+2)/(u+2)
        som+ = u
    return som

## Exercice n°5:

def trace5(n):
    Abs = [k for k in range(n)]
    Ord = [1/2]
    for k in range(n-1):
         Ord.append((1-Ord[-1])**2)
    plt.plot(Abs,Ord,'x')
    plt.show()





