Instructions conditionnelles

Signaler

Les instructions conditionnelles permettent, en fonction du résultat de l’évaluation d’une expression booléenne, d’exécuter une certaine portion de code plutôt qu’une autre.

I. Nécessité des conditionnelles

05230_chap02_02

Pouvoir exécuter alternativement un bloc d’instructions plutôt qu’un autre, en fonction d’un résultat intermédiaire, fait partie des éléments fondamentaux de tout langage de programmation et est nécessaire à la programmation de la plupart des calculs :

PB_Bac_05230_numerique1_TT_p045-082_C02_Groupe_Schema_11

Selon que la condition mentionnée est vraie ou fausse, le programme exécutera les blocs A, B, D ou bien A, C, D.

II. Syntaxe des conditionnelles

1) Exemple

Nous illustrons nos propos avec la suite de Syracuse définie ainsi (le premier terme est un entier arbitraire) :

un+1={un2 si un est pair3un+1 sinon

On peut tester la parité d’un nombre en regardant le reste de la division par 2. Si n % 2 vaut 0, c’est que n est pair.

PB_Bac_05230_numerique1_TT_p045-082_C02_Groupe_Schema_12

2) Conditions imbriquées

Il est possible d’imbriquer les conditions les unes dans les autres.

Exemple : La fonction suivante indique si l’année a est bissextile en renvoyant un booléen.

PB_Bac_05230_numerique1_TT_p045-082_C02_Groupe_Schema_8

Rappel

Une année est bissextile si elle est divisible par 400, ou bien si elle est divisible par 4 sans être divisible par 100 : 2000 a été bissextile, 2032 le sera et 2100 ne le sera pas.

Pour éviter trop de blocs imbriqués qui nuisent à la lisibilité, on dispose en Javascript de else if et en Python du mot clé elif.

PB_Bac_05230_numerique1_TT_p045-082_C02_Groupe_Schema_9

La construction précédente nous assure qu’un et un seul des quatre blocs (le premier pour lequel la condition sera vérifiée) est exécuté, ce qui est utile pour vérifier la justesse d’un programme. Voici une série de tests pour notre fonction :

PB_Bac_05230_numerique1_TT_p045-082_C02_Groupe_Schema_10