Lyc´ee Benjamin Franklin PTSI 2012-2013
D. Blotti`ere Algorithmique
TD n˚2
Boucle it´erative non conditionnelle
1. Un exemple d’algorithme utilisant une boucle it´erative non conditionnelle
On d´efinit les variables suivantes :
variable icontenant un entier ;
variable somme contenant un entier.
On se donne un entier naturel non nul nfix´e, puis on consid`ere l’algorithme suivant.
Algorithme 1
1somme 0
2
3 Pour iallant de 1 `a n, par pas de 1, Faire
4somme somme +i
5 Fin du Faire
6
7 Afficher(somme)
Question 1
1. On suppose que n= 4. Donner les valeurs des variables iet n, ligne apr`es ligne, lorsqu’on ex´ecute l’algo-
rithme.
On recopiera et on compl`etera le tableau suivant.
Num´ero de ligne Valeur de iValeur de somme
1 ? 0
2 ? 0
.
.
..
.
..
.
.
2. D´ecrire le probl`eme auquel r´epond cet algorithme, `a l’aide d’une phrase.
3. Proposer un algorithme, sans boucle it´erative non conditionnelle, qui r´eponde ´egalement au probl`eme
´enonc´e en 2.
1
2. Qu’est-ce qu’une boucle it´erative non conditionnelle ?
Une boucle it´erative non conditionnelle permet de r´ep´eter un nombre de fois efini `a l’avance une mˆeme suite
d’instructions.
Par exemple, dans l’agorithme n˚1, on r´ep`ete nfois l’affectation
somme somme +i
avec une valeur de iqui vaut 1 au d´ebut, puis qui augmente de 1 `a chaque it´eration (r´ep´etition), jusqu’`a ce
qu’elle atteigne la valeur n.
Une boucle it´erative non conditionnelle a la structure suivante
Structure d’une boucle it´erative non conditionnelle
Pour iallant de v init `a v f in par pas de v pas, Faire
suite d’instructions `a r´ep´eter
ou
corps de la boucle
Fin du Faire
o`u
id´esigne l’indice d’it´eration (le num´ero de l’it´eration) ;
v init esigne la valeur de d´epart de l’indice d’it´eration ;
v f in esigne la valeur de fin de l’indice d’it´eration ;
v pas esigne la valeur du pas (incr´ement) de laquelle est augmene l’indice `a chaque nouvelle it´eration.
Remarque
Comme indiqu´e ci-dessus, la valeur de iest le num´ero de l’it´eration. Elle est une variable de l’algorithme (avec
une valeur assign´ee d`es qu’on rentre dans la boucle) et peut, `a ce titre, ˆetre utilis´ee dans le corps de la boucle
(cf. algorithme 1).
3. Exercices
Exercice 5
Soit nun entier naturel non nul.
´
Ecrire un algorithme qui affiche nfois
Bonjour !
avec un retour `a la ligne, apr`es chaque affichage de la chaˆıne de caract`eres Bonjour ! .
Exercice 6
Soit nun entier naturel non nul.
´
Ecrire un algorithme qui affiche la liste des npremiers multiples de 7 (le premier ´etant 0), avec un retour `a la
ligne, apr`es chaque affichage d’un des multiples.
Exercice 7
Soit nun entier naturel non nul.
1. ´
Ecrire un algorithme, utilisant une boucle it´erative non conditionnelle, qui affiche la valeur de la somme
des npremiers entiers impairs (le premier entier impair ´etant 1).
2. Proposer un algorithme affichant la somme des npremiers entiers impairs, qui n’utilise pas de boucle
it´erative non conditionnelle.
2
Exercice 8
Soit qR\ {1}et soit nN. On note S(n, q) la somme d´efinie par :
S(n, q) =
n
X
k=0
qk.
1. ´
Ecrire un algorithme, utilisant une boucle it´erative non conditionnelle, qui affiche la valeur de S(n, q).
2. Discuter la complexit´e (e.g. du nombre de multiplications) de l’algorithme ´ecrit en 1..
3. Proposer un algorithme affichant la valeur de S(n, q), qui n’utilise pas de boucle it´erative non condition-
nelle.
Exercice 9
On rappelle que pour tout nN, la factorielle de n, not´ee n!, est le nombre entier naturel d´efini par :
n! = 1 ×2×3×. . . ×(n1) ×n.
On a donc 1! = 1 et la relation de r´ecurrence :
(n+ 1)! = (n+ 1) ×n!
valable pour tout nN.
1. Soit nN.
´
Ecrire un algorithme qui affiche la valeur de n!.
2. Soit nN.
´
Ecrire un algorithme qui affiche les npremi`eres factorielles (la premi`ere ´etant 1!), avec un retour `a la ligne
apr`es chaque affichage d’une factorielle.
Exercice 10
Soit (un)nNla suite d´efinie par u0= 1 et la relation de r´ecurrence :
un+1 = 3un1
valable pour tout nN.
Soit nN.
1. ´
Ecrire un algorithme qui affiche la valeur de un.
2. ´
Ecrire un algorithme qui affiche la valeur de la somme Snefinie par :
Sn=
n
X
k=0
uk.
Exercice 11
Soit nN. On note Snla double somme d´efinie par :
n
X
i=1
i
X
j=1
ij.
1. ´
Ecrire un algorithme, utilisant deux boucles it´eratives non conditionnelles imbriqu´ees, qui affiche la valeur
de Sn.
2. Proposer un algorithme affichant la valeur de Sn, qui n’utilise aucune boucle it´erative non conditionnelle.
3
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !