Vous êtes sur la page 1sur 2

Algorithmique 4

Boucles
Email : C hri s t i an. Gre s s e @uni v- orl e ans . f r

Email : Davi d. Te l l e r@uni v- orl e ans . f r

Au cours de ce TD, vous allez travailler sur d'autres algorithmes à branchements.


Note N'hésitez pas à poser des questions, au professeur ou à son humble TD-man.
Note Lisez rapidement tout l'énoncé avant de répondre aux questions.

1 Formalisation
Dénition 1. Une boucle est une instruction qui va répéter l' exécution d' un algorithme tant
qu' une certaine condition n' est pas remplie.
Exemple 2. La boucle la plus simple est t ant que , qui s'écrit de la manière suivante :
t ant que E f ai re
A
où E est une expression booléenne et A est un algorithme.
L'instruction va vérier si E est vraie, puis, si E est vériée, va exécuter A . Après avoir exé-
cuté A, l' instruction va de nouveau vérier E puis, si E est encore valide, va de nouveau exé-
cuter A, etc. Si, au cours d'une des vérications, E n'est pas avérée, l'exécution de l'instruction
s'arrête.
Exemple 3. L'instruction suivante va acher un compte à rebours à partir de 5.
dé but
X 5
tant que X > 0 f ai re
dé but
af f i c her X
X X- 1
fi n
af f i c he r ` ` Part ez ! ' '
fin

2 Problèmes
2.1 Réécritures
Considérons l'algorithme suivant
dé but
tant que E f ai re
A
af f i c he r ` ` bouc l e t ermi né e ' '
fin

où E est une expression booléenne et A est un algorithme.

1
2 S ec tio n 2

E xer c i c e 1 . Réécrire cet algorithme sous la forme d' une série ( innie) de s i . . . al ors . . . s i no n

Considérons une suite de nombres a 1 , a 2 , a 3  a n , avec n quelconque.


E xer c i c e Écrire un algorithme pour calculer le maximum de cette suite de nombres.
2.

Pour ce faire, vous pourrez reprendre l' algorithme déni la semaine dernière pour 6 nombres et le généra-
liser.

2.2 Nombres
Opérations élémentaires
E xer c i c e Écrire un algorithme qui, pour tout couple d' entiers naturels a et b , va calculer a ? b . Vous avez
3.

le droit aux boucles, aux tests, aux comparaisons entre entiers, aux aectations et à la décrémentation .
E xer c i c e Écrire un algorithme qui, pour tout couple d' entiers naturels a et b , va calculer a  b . Vous avez
4.

le droit aux boucles, aux tests, aux comparaisons entre entiers, aux aectations, aux additions et aux soustra-
ctions.
E xer c i c e Maintenant, écrire un algorithme qui, dans les mêmes circonstances, va calculer a b .
5.

E xer c i c e Écrire un algorithme qui, pour tout entier a , va déterminer si a est pair ou impair. Vous avez le
6.

droit aux boucles, aux tests, aux comparaisons entre entiers et à la décrémentations.

Suites
:
N 
La fonction factorielle est dénie par
factorielle Nn n n?  n?    
( 1) ( 2) 2 1

Ainsi, on a factorielle , factorielle


(1) = 1 et factorielle 1 0
( 3) = 6 ( ) = 3. 628. 800.

E xer c i c eÉcrire un algorithme qui, pour tout entier naturel n , va calculer la factorielle de n . Vous avez le
7.

droit aux boucles, au tests, aux aectations et opérations arithmétiques.

La suite de Fibonacci b est dénie par


8
< b 0 = 1

b 1 = 1
:
bn + 2 b n + 1 bn
= +

Vous aimerez peut-être aussi