ECO1 LMA 2016-2017
Les boucles for...do...end
TP2
En algorithmique, on peut ˆetre amen´e `a r´ep´eter un bloc d’instructions un nombre d´etermin´e de fois. Pour cela, on utilise une bouclefor. La syntaxe est la suivante:
>for var=ini:f in do instructions end
La variablevarparcourt dans l’ordre les entiers deini`af inet, `a chaque ´etape, lesinstructionssont effectu´ees.
Leforet leendsont indispensables, ledoest facultatif.
Exercice 1 1. Entrer dans l’´editeur de Scilab les instructions suivantes:
n=input( ’ Donner une v a l e u r de n : ’ ) S=0
f o r k =1:n do S=S+k end
disp( S )
Tester pour diff´erents entiers naturelsn. A quoi correspond la valeur deS `a la fin de la boucle? V´erifier
`
a l’aide d’une formule sur les sommes usuelles.
2. Modifier les instructions pr´ec´edentes pour calculer les sommes suivantes:
5
X
k=1
k2,
10
X
k=1
k2,
20
X
k=1
k2,
5
X
k=1
k3,
10
X
k=1
k3
V´erifier les r´esultats `a l’aide des formules sur les sommes usuelles.
Exercice 2 Soitn∈N∗. On consid`ere la somme suivante:
Sn =
n
X
k=0
(k2+ 4k+ 4).
1. ´Ecrire une suite d’instructions qui, ´etant donn´e un entier natureln, calculeSn. 2. En utilisant la lin´earit´e de la somme, calculerSn.
3. En utilisant une identit´e remarquable et un changement d’indice, retrouver le r´esultat de la question pr´ec´edente.
Exercice 3 1. ´Ecrireune suite d’instructions qui, ´etant donn´e un entier naturel non nuln, calcule:
Sn=
n
X
k=1
2k+ 1
k2(k+ 1)2, Tn =n(n+ 2) (n+ 1)2. 2. Tester pour diff´erentes valeurs denet faire une conjecture sur Sn etTn. 3. Montrer que: ∀k∈N∗, 1
k2 − 1
(k+ 1)2 = 2k+ 1 k2(k+ 1)2. 4. Prouver la conjecture.
Exercice 4 1. ´Ecrire une suite d’instructions qui, ´etant donn´e un entier natureln, calculen!.
2. ´Ecrireune suite d’instructions pour calculer les produits suivants:
5
Y
k=1
22k 3k ,
10
Y
k=1
22k 3k ,
5
Y
k=2
1− 1
k2
10 Y
k=2
1− 1
k2
V´erifier les r´esultats en calculant ”`a la main” ces produits.
1