TP 3. Boucle itérative FOR
Exercice I.
Sans utiliser l'ordinateur, résumer dans un tableau les diérentes valeurs que prendraient les variables xety au cours de l'exécution des programmes suivants. (Faire une colonne pour l'indice de comptage k, et une colonne pour chaque variable.)
programme A. programme B. programme C.
x=0 ;
for k=1 :10 ; x=x+k ; disp(x) ; end ;
x=0 ;
for k=2 :3 :18 ; x=2*k ; disp(x) ; end ;
x=0 ;
for k=50 :(-2) :0 ; disp(k) ; end ;
programme D. programme E. programme F.
x=3
for k=0 :2 :12 ; x=x+k ; disp(x) ; end ;
x=1
for k=1 :5 ; x=2*x+1 ; disp(x) ; end ;
x=2 ; y=3 ; for k=2 :6 ;
x=2*x+k ; y=3*x+y ; disp(x) ; disp(y) ; end ;
Exécuter ces programmes pour vérier. Que calculent-ils ? Exercice II.
Sans utiliser l'ordinateur (faire un tableau), dire quelle est la valeur achée par le programme suivant : u=0 ;
p=1 ; for k=1 :5 ;
u=u+2 ; p=p*u ; end ; disp(p) ;
Vérier à l'ordinateur.
Exercice III.
1. Ecrire des programmes calculant dans chaque cas la somme Sn où l'entiernest entré par l'utilisateur.
a. Sn=
n
X
k=0
k4 b. Sn=
n
X
k=1
1
k c. Sn=
n
X
k=1
1
k2 d. Sn=
n
X
k=1
1
2k6 e. Sn=
n−1
X
k=5
1 k√
k 2. Etudier la complexité des algorithmes précédents.
3. Avez-vous une idée des éventuelles limites lim
n→+∞Sn? 1
Exercice IV.
1. Ecrire un programme qui demande un entier naturel n, et calculen!à l'aide d'une boucle for.
2. Déterminer la complexité de l'algorithme en fonction de n.
3. Compléter le programme an d'envoyer un message d'erreur si des valeurs aberrantes de nsont rentrées.
Exercice V.
1. Ecrire des programmes calculant dans chaque cas le produit Pn où l'entier nest entré par l'utilisateur.
a. Pn=
n
Y
k=1
1 + 1
k2
b. Pn=
n
Y
k=1
nk
2. Etudier la complexité des algorithmes précédents.
Exercice VI.
Pour chacune des suites suivantes : A.
u0 = 6
un+1= 2un−5 B.
u0 = 15 un+1 = u2n+ 2
2un
C.
u0 = 1 u1 = −1
un+2 = −4un+ 3un+1 1. Ecrire un programme calculant et achant un dans les cas suivants :
2. Etudier la complexité des algorithmes précédents.
3. Donner u10, et vérier à la main votre résultat.
4. Utiliser les programmes an d'avoir une idée de la limite éventuelle de la suite l= lim
n→+∞un. 5. Créer un programme achant graphiquement les termes de la suite.
Exercice VII.
1. Ecrire un programme qui calcule les termes de la suite de Fibonacci, ainsi que le rapport entre deux termes consécutifs un+1
un .
2. Utiliser le programme pour repérer vers quoi tend ce rapport.
Exercice VIII.*
1. Créer un programme qui calcule n
k
, pourn∈Net0≤p≤n. 2. Evaluer sa complexité, et tenter de l'améliorer.
2