You are on page 1of 3

PTSI 2012-2013

Algorithmique

Lycee Benjamin Franklin


D. Blotti`ere

TD n2
Boucle it
erative non conditionnelle

1. Un exemple dalgorithme utilisant une boucle it


erative non conditionnelle
On definit les variables suivantes :
variable i contenant un entier ;
variable somme contenant un entier.
On se donne un entier naturel non nul n fixe, puis on consid`ere lalgorithme suivant.
Algorithme 1
1
2
3
4
5
6
7

somme 0
Pour i allant de 1 `a n, par pas de 1, Faire
somme somme + i
Fin du Faire
Afficher(somme)

Question 1
1. On suppose que n = 4. Donner les valeurs des variables i et n, ligne apr`es ligne, lorsquon execute lalgorithme.
On recopiera et on compl`etera le tableau suivant.
Numero de ligne

Valeur de i

Valeur de somme

..
.

..
.

..
.

2. Decrire le probl`eme auquel repond cet algorithme, `a laide dune phrase.


3. Proposer un algorithme, sans boucle iterative non conditionnelle, qui reponde egalement au probl`eme
enonce en 2.

2. Quest-ce quune boucle it


erative non conditionnelle ?
Une boucle iterative non conditionnelle permet de repeter un nombre de fois defini `
a lavance une meme suite
dinstructions.
Par exemple, dans lagorithme n1, on rep`ete n fois laffectation
somme somme + i
avec une valeur de i qui vaut 1 au debut, puis qui augmente de 1 `a chaque iteration (repetition), jusqu`
a ce
quelle atteigne la valeur n.
Une boucle iterative non conditionnelle a la structure suivante
Structure dune boucle iterative non conditionnelle
Pour i allant de v init `a v f in par pas de v pas, Faire
suite dinstructions `a repeter
ou
corps de la boucle
Fin du Faire

o`
u
i designe lindice diteration (le numero de literation) ;
v init designe la valeur de depart de lindice diteration ;
v f in designe la valeur de fin de lindice diteration ;
v pas designe la valeur du pas (increment) de laquelle est augmente lindice `a chaque nouvelle iteration.
Remarque
Comme indique ci-dessus, la valeur de i est le numero de literation. Elle est une variable de lalgorithme (avec
une valeur assignee d`es quon rentre dans la boucle) et peut, `a ce titre, etre utilisee dans le corps de la boucle
(cf. algorithme 1).

3. Exercices
Exercice 5
Soit n un entier naturel non nul.

Ecrire
un algorithme qui affiche n fois


Bonjour ! 

avec un retour `
a la ligne, apr`es chaque affichage de la chane de caract`eres

Bonjour ! .

Exercice 6
Soit n un entier naturel non nul.

Ecrire
un algorithme qui affiche la liste des n premiers multiples de 7 (le premier etant 0), avec un retour `
a la
ligne, apr`es chaque affichage dun des multiples.
Exercice 7
Soit n un entier naturel non nul.

1. Ecrire
un algorithme, utilisant une boucle iterative non conditionnelle, qui affiche la valeur de la somme
des n premiers entiers impairs (le premier entier impair etant 1).
2. Proposer un algorithme affichant la somme des n premiers entiers impairs, qui nutilise pas de boucle
iterative non conditionnelle.

Exercice 8
Soit q R \ {1} et soit n N . On note S(n, q) la somme definie par :
S(n, q) =

n
X

qk .

k=0

1.
2.
3.

Ecrire
un algorithme, utilisant une boucle iterative non conditionnelle, qui affiche la valeur de S(n, q).
Discuter la complexite (e.g. du nombre de multiplications) de lalgorithme ecrit en 1..
Proposer un algorithme affichant la valeur de S(n, q), qui nutilise pas de boucle iterative non conditionnelle.

Exercice 9
On rappelle que pour tout n N , la factorielle de n, notee n!, est le nombre entier naturel defini par :
n! = 1 2 3 . . . (n 1) n.
On a donc 1! = 1 et la relation de recurrence :
(n + 1)! = (n + 1) n!
valable pour tout n N .
1. Soit n N .

Ecrire
un algorithme qui affiche la valeur de n!.
2. Soit n N .

Ecrire
un algorithme qui affiche les n premi`eres factorielles (la premi`ere etant 1!), avec un retour `a la ligne
apr`es chaque affichage dune factorielle.
Exercice 10
Soit (un )nN la suite definie par u0 = 1 et la relation de recurrence :
un+1 = 3un 1
valable pour tout n N.
Soit n N.

1. Ecrire
un algorithme qui affiche la valeur de un .

2. Ecrire
un algorithme qui affiche la valeur de la somme Sn definie par :
Sn =

n
X

uk .

k=0

Exercice 11
Soit n N . On note Sn la double somme definie par :
n X
i
X

ij.

i=1 j=1

1. Ecrire
un algorithme, utilisant deux boucles iteratives non conditionnelles imbriquees, qui affiche la valeur
de Sn .
2. Proposer un algorithme affichant la valeur de Sn , qui nutilise aucune boucle iterative non conditionnelle.

You might also like