Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chapitre2 Geii Algorithmique

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 4

Chapitre 2 « Les structures conditionnelles et les boucles »

L’essentiel du cours

Rares sont les algorithmes qui peuvent se décrire uniquement par un


enchainement séquentiel d’opérations élémentaires : la plupart du temps, les
traitements informatiques font appel à des concepts de ruptures de séquence
comme les tests, (ou opérations conditionnelles) et les boucles.
Ce chapitre présente les concepts fondamentaux qui régissent les ruptures de
séquences : les tests simples, les opérations conditionnelles multiples, les
itérations et les boucles conditionnelles.

A. Tests simples

Tous les langages de programmation possèdent des instructions permettant


d’exécuter une instruction ou un bloc d’instructions si une condition est vérifiée.
L’algorithme d’une telle opération s’écrit de la manière suivante :

Si (condition) alors
Bloc d’instructions 1
sinon
Bloc d’instructions 2
fin de si

La condition s’exprime sous la forme d’une expression logique (booléenne)


simple (condition unique) ou combinée (plusieurs conditions composées avec des
opérateurs logiques ET, OU et NON). En général, ces conditions portent sur la
comparaison de deux objets (a=2, prix<10,b= c, i<=100, etc.).
Chaque bloc d’instructions est composé d’une série d’instructions qui, au sein du
bloc, sont exécutées en séquence. La clause sinon n’est pas obligatoire : dans ce
cas, si la condition est remplie, on exécute le bloc d’instructions 1 ; dans le cas
contraire, on fait rien de spécial. Chaque bloc d’instructions peut, bien
évidemment, se limiter à une seule instruction.

B. Opérations conditionnelles multiples

Les tests simples permettent de réaliser, au mieux, un choix parmi deux


possibilités. Il est parfois utile d’effectuer des traitements variés en fonction de
cas beaucoup plus nombreux.
On utilise alors le concept de tests multiples qui permettent de comparer un
objet à toute série de valeurs et d’exécuter, en fonction de la valeur effective de
l’objet, différents blocs d’instructions.

Au cas où
variable = valeur 1
Bloc d’instructions 1
variable = valeur 2
Bloc d’instructions 2

variable = valeur n
Bloc d’instructions n
sinon
Bloc d’instructions n+1
fin de cas 1

Chapitre II LES TESTS ET LES BOUCLES GEII_ 1Année


En règle générale, il n’est pas possible d’utiliser des conditions plus complexes
que la simple égalité.

C. Itérations

Une itération consiste à exécuter un bloc d’instructions un certain nombre de


fois. On parle alors de boucle. En général, le nombre de passages dans la boucle
est connu au préalable. Une variable entière particulière appelée variable
d’itération sert à compter le nombre de répétitions du bloc d’instructions.
Cette variable est initialisée avant le premier passage dans la boucle,
incrémentée à chaque passage et lorsqu’elle atteint sa valeur maximale pré-
définie, l’exécution du programme se poursuit à partir de la première instruction
qui suit immédiatement la boucle. L’algorithme d’une telle boucle s’écrit de la
manière suivante :

pour i variant de < valeur initiale > à <valeur finale>


Bloc d’instructions
fin de pour
< valeur initiale > et <valeur finale> peuvent être des constantes ou des
expressions entières. La variable d’itération est i et la valeur de l’incrément, par
défaut, est égale à 1. Certains langages autorisent la définition d’un pas
d’itération diffèrent de 1. Il suffit de le préciser dans l’algorithme, comme le
montre l’exemple ci-dessous :

pour i variant de < valeur initiale > à <valeur finale> pas de <pas>
Bloc d’instructions
fin de pour

La valeur du pas peut être négative ; dans ce cas, la valeur initiale sera
supérieure à la valeur finale.

Il est possible d’utiliser la variable d’itération à l’intérieur de la boucle dans toute


instruction du moment que celle-ci ne modifie pas sa valeur.

D. Boucles tant que

Il n’est pas toujours évident de connaître a priori le nombre de passages dans


une boucle. La plupart du temps, les traitements répétitifs doivent s’exécuter
tant qu’une condition donnée est vérifiée.
On parle alors de boucle « tant que « dont l’algorithme s’écrit ainsi :

tant que (condition)


Bloc d’instructions
fin tant que

Au moment du premier passage dans la boucle, la condition est évaluée ; si elle


est vérifiée, le bloc d’instructions est exécuté en séquence. À la fin de l’exécution
de cette séquence, on évalue à nouveau la condition et on répète l’exécution du
bloc tant que la condition est vérifiée. Dès que celle-ci devient fausse, l’exécution
du programme se poursuit à partir de la première instruction qui suit
immédiatement la marque fin tant que.
2

Chapitre II LES TESTS ET LES BOUCLES GEII_ 1Année


Il est intéressant de noter qu’il est tout à fait possible que le bloc d’instructions
ne soit jamais exécuté si, par exemple, la condition n’est pas vérifiée au moment
du premier passage.

E. Boucles « jusqu’à »

Dans une boucle tant que, la condition est évaluée avant d’exécuter la première
instruction du bloc contenu dans la boucle. On peut souhaiter, dans certains cas,
évaluer la condition après l’exécution de la dernière instruction de ce bloc. Un tel
algorithme correspond à une boucle jusqu’à et s’écrit ainsi :
répéter
Bloc d’instructions
jusqu’à (Condition)
Le bloc d’instructions sera répété jusqu’à ce que la condition soit vérifiée. Au
contraire de la boucle tant que, l’utilisation d’une boucle jusqu’à garantit que le
bloc sera exécuté au moins une fois puisque le test a lieu après son exécution.
On parle parfois, pour la boucle jusqu’à, d’un test de sortie de boucle tandis que
dans le cas d’une boucle tant que, il s’agit plutôt d’un test d’entrée dans la
boucle.

Applications :

A. Écrire un algorithme qui demande à l’utilisateur de saisir son âge (un


entier positif), puis l’algorithme lui affiche son stade de vie :
Bébé : de la naissance à 2 ans
Enfant : de 3 ans à 12 ans
Adolescent : de 13 ans à 17 ans
Adulte : de 18 ans à 69 ans
Personne âgée : à partir de 70 ans
Effectuer un contrôle de saisie sur l’âge saisit qui doit être positif.

B. Écrire un algorithme qui demande à l’utilisateur de choisir la


classe de son siège pour une réservation à l’avion pour un
vol de Djibouti à Paris.
L’algorithme affiche le menu suivant à l’utilisateur :
Choisissez la classe :
P ---- > Première Classe (150 000 FDJ)
E ---- > Classe Économique (90 000 FDJ)
Tapez la lettre de la classe voulue :
Ensuite le système demande à l’utilisateur le poids du bagage à
enregistrer, et affiche le total à payer en ajoutant les frais de réservation
de 5 000 FDJ et le montant à payer pour le bagage sachant que le tarif
pour 1 Kg est 1000 FDJ.
Effectuer un contrôle de saisie pour chaque donnée lue.
C. Écrivez un algorithme qui affiche le mot « Informatique » 40
fois.
D. Écrire un algorithme qui affiche les nombres 1 jusqu’à 40.
E.

Chapitre II LES TESTS ET LES BOUCLES GEII_ 1Année


F.

Écrire un algorithme qui calcule et affiche le factoriel d’un entier


positif entré par l’utilisateur.

G. Écrivez un algorithme qui calcule le reste de la division entière d’un


entier positif A sur un entier strictement positif B entrés par
l’utilisateur sans utiliser les deux opérateurs « div : division et mod :
modulo ».

Chapitre II LES TESTS ET LES BOUCLES GEII_ 1Année

Vous aimerez peut-être aussi