Langage Scilab

Notification de cookies

Nous utilisons des cookies pour améliorer votre expérience. En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Plus d'informations

TD 3 corrigé sur les suites en Scilab

Télécharger le TD avec la correction

Exercice 1

Écrire un programme qui permet de calculer 

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 : 

  • S 0 = 2
  • S1 = 3
  • Sn = Sn−1 +(−1)n ∗Sn−2
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

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 : 

a.

u=1
s=1
for i=1:n
      u=sqrt(u+(i-1))
      s=s+u
end
disp(s)

b.

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)

c.

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 entiern >0, Un =Un−1 +(1/n!).  Avec n!=1x2x...xn.

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.

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 M. ESSADDOUKI

Learning a new programming language is an easy thing, but the most difficult thing is how to design efficient algorithms for real-world problems, so don't be a programmer, be a problems solver.

Cours Similaires :