TD 3 corrigé sur les suites en Scilab

Exercice 1

Écrire un programme qui permet de calculer 

Corrigé
    N=input("saisir N ")
    s1=1
    s2=1
    s3=1
    s4=1
    for i=2:N
          s1=s1+(1/i)
    end
    disp("S1 =",s1)
    
    for i=2:2:N
          s2=s2+(1/i)
    end
    disp("S2 =",s2)
    
    signe=-1
    for i=2:2:N
          s3=s3+signe*(1/i)
          signe=signe*(-1)
    end
    disp("S3 =",s3)
    
    x=input("saisir x")
    for i=1:N
          s4=s4+(x^i)
    end
    disp("S4 =",s4)

Exercice 2

Ecrire un programme qui détermine le 20ième terme d’une suite définie par : 

  • S0 = 2
  • S1 = 3
  • Sn = Sn−1 +(−1)n ∗Sn−2
Corrigé
    s1=2;
    s2=3;
    for i=3:20
           s=s2+((-1)^i)*s1
           s1=s2
           s2=s
    end
    disp(" le 20 eme terme est :",s2)

Exercice 3

Soit la suite U définie par : 

Cette suite aboutit au cycle redondant formé par les trois termes 4,2,1 à partir d’un certain rang. 

Exemple :
Pour U0 = 3
U1 =10; U2 =5; U3 =16; U4 =8; U5 =4; U6 =2; U7 =1; U8 =4; U9 =2; U10 =1,
Donc la suite U entre dans le cycle redondant 4,2,1 à partir du 6ème terme(rang=6)

Ecrire un programme permettant de déterminer le rang à partir duquel la suite U aboutit au cycle redon-dant 4, 2 et 1
La fonction grand("uin",3,40) permet de générer un nombre entier entre 3 et 40

Corrigé
    U=grand("uin",3,40)
    it=1
    while(U<>4)
        it=it+1
        if(modulo(U,2)==0)then
            U=U/2
        else
            U=3*U(+1
        end
    end
    disp("la suite U entre dans le cycle redondant a partir du rang=",it)

Exercice 4

Ecrire un programme demandant un entier n à l’utilisateur et affichant la valeur de : 

Corrigé
    u=1
    s=1
    for i=1:n
          u=sqrt(u+(i-1))
          s=s+u
    end
    disp(s)
    u1=1
    u2=2
    p=2
    for i=2:n
          u=u2+(i-2)*u1
          u1=u2
          u2=u
          p=p*u
    end
    disp(p)
    u=1
    v=2
    s=2
    for i=1:n
          inter=u // stocker l'ancienne valeur de u(i-1)
          u=3*u+sqrt(v)
          v=(1/i)*inter+v
          s=s+u*v
    end
    disp(s)

Exercice 5

On veut obtenir une bonne approximation du nombre e (qui est la valeur de la fonction exponentielle de 1). Pour cela, on construit une suite de nombres réels de cette facon : 

U0 = 1 et pour chaque entier n >0, Un =Un−1 +(1/n!).  Avec n!=1 x 2 x ...x n.

Cette suite va tendre vers le nombre e quand n tend vers l’infini (+∞).
Ainsi, U1 = U0 +(1/1!) = 1+1 = 2 et U2 = U1 +(1/2!) = 2+(1/2) = 2,5...

Il faut savoir que le terme(1/n !) va tendre rapidement vers zéro et donc pour une certaine valeur de n, nous aurons Un = Un−1 du fait des imprécisions dans la représentation des nombres réels dans l’ordinateur.
Ecrire un programme qui permet de calculer et d’afficher les valeurs de e(= Un) du premier n qui vérifie Un = Un−1.

Corrigé
    U1=1
    U2=U1+1
    n=2
    f=1
    while(U1<>U2)
          f=f*n
          n=n+1
          U1=U2
          U2=U1+(1/f)
    end
    disp(U2)

Partager ce cours avec tes amis :

Rédigé par ESSADDOUKI Mostafa

The education of the 21st century opens up opportunities to not merely teach, but to coach, mentor, nurture and inspire.