"Indiquez ici vos noms et prénoms afin de rendre ce document complété:"


#%%Prise en main
#Ce fichier est divisé en blocs de code apelés "cellules", et délimités par les lignes qui commencent par #%%
#Les touches Ctrl+Entrée permettent d'executer toute une cellule à la fois.
#Par exemple constatez ce qu'il se passe lorsque vous executez cette cellule, et la suivante.
#Comparez à ce qu'il se passe lorsque vous entrez directement les commandes dans la console


x=1+1
print(x**2)
"Bonjour"
#%% cette ligne est le début de la cellule suivante
1+1
print(3**2)
print("Bonjour")


# Remarque sur l'affichage dans la console:
#Dans pyzo, vous constatez que quand on execute une cellulle, le code est executé mais aucun résultat n'est affiché, sauf si des fonctions comme "print" sont utilisées.
#De plus, toutes les lignes qui commencent par "#" sont considérées comme des commentaires, et ignorées quand le code est executé.


#%% Type de données
print("Bonjour "+3*"!")
print(2+3*9)
#%% listes
[17]+[2]
#%% nombres à virgule de type float
a=2+10**-5
print("a est de type ",type(a)," et vaut ",a)
#%%erreur de calcul avec le nombres décimaux
print(2+10**-20-2)
#%% utilisation du module decimal
from decimal import Decimal
print(Decimal(2)+Decimal(10)**-20)
print(Decimal(2)+Decimal(10)**-20-2)
#%%configuration du module decimal
from decimal import getcontext, setcontext, Context
setcontext(Context(prec=120))
#%% Dichotomie: code fourni avec l'énoncé

def f(x):
    return x**2-2
x=[1.0];y=[2.0]
for n in range(0,10):
    if f((x[n]+y[n])/2)>0:
        x=x+[x[n]]
        y=y+[(x[n]+y[n])/2]
    else:
        x=x+[(x[n]+y[n])/2]
        y=y+[y[n]]
print("x[10]=",x[10])
print("y[10]=",y[10])

#%% Représentation graphique

from matplotlib import pyplot

pyplot.plot(range(11),x,"g+")
pyplot.plot(range(11),y,"r.")
pyplot.show()

#%% Exercice: Calculez les 10 premières décimales de racine de deux 
# une fois trouvé un moyen de calculer ces 10 premières décimales, écrivez ici le code correspondant


#%% Exercice: Calculer les 100 premières décimales de racine de deux
# une fois trouvé un moyen de calculer ces 100 premières décimales, écrivez ici le code correspondant

#%% Exercice: Calculez les dix premières décimales de la racine poisitive du polynôme X**4+3*X**3+12*X-2018

#%% Méthode de la sécante : code fourni avec l'énoncé
def f(x):return x**2-2
x=[1.0,2.0]
fx=[f(1.0),f(2.0)]
for n in range (1,5):
    x=x+[x[n]-(x[n]-x[n-1])/(fx[n]-fx[n-1])*fx[n]]
    fx=fx+[f(x[n+1])]
print(x)

#%% Exercice: calcul des 15 premières valeurs

#%% Exercice: représentation graphique de la marge d'erreur

#%% Vitesse de convergence

#%% Méthode de Newton

#%% Représentation graphique de la marge d'erreur
