# Créé par shemon, le 01/12/2023 en Python 3.7
from math import*
#question 1
#question 1a)
u=5
for k in range(11):
    u=2*u-3
print("u11=",u)
#question 1b)
def sequ(n):
    u=5
    for k in range(n):
        u=2*u-3
    return(u)

L=[0,0,0,0,0,0]
for k in range(6):
    L[k]=sequ(20+k)
print("reponse 1b)",L)

#question 1c)
def SeqU(n):
    u=5
    q=2
    r=-3
    alpha=r/(1-q)
    u=(u-alpha)*q**n+alpha
    return(u)
Lcompa=[0,0,0,0,0,0]

for k in range(6):
    Lcompa[k]=SeqU(20+k)
print("reponse 1c)",Lcompa)

#question 1d)
def arigeo(a,n,q,r):
    u=a
    for k in range(n):
        u=q*u+r
    return(u)
T=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
for k in range(15):
    T[k]=arigeo(-1,k,1.32,1)
print("reponse 1d)",T)


def AriGeo(a,n,q,r):
    u=a
    alpha=r/(1-q)
    u=(u-alpha)*q**n+alpha
    return(u)
Tcomp=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
for k in range(15):
    Tcomp[k]=AriGeo(-1,k,1.32,1)
print("reponse 1d) comp",Tcomp)


#question 2
#question 2a)
def f(x):
    y=(2*x-1)/(1+x**2)
    return(y)

def v(a,n):
    c=a
    for k in range(n):
        c=f(c)
    return(c)
#question 2b)
A=[0,2,-3]
for a in A:
    La=[0,0,0,0,0,0,0,0,0,0]
    for i in range(10):
        La[i]=v(a,i)
    print("La:",La,"pour a =",a)