Accueil

Enoncés conditionnels

Objectifs du TD : maîtriser l'ordre d'exécution des instructions d'un programme. Apprendre à lire des données sur l'entrée standard.

Le plus souvent, il est nécessaire de choisir les opérations à effectuer en fonction de certaines conditions. Par exemple, pour calculer les solutions d'une équation du second degré, on va tenir compte du fait que le déterminant est positif, négatif ou nul. Les énoncés conditionnels des langages de programmation permettent de faire cela.

à retenir A RETENIR
Un énoncé conditionnel permet d'exécuter un bloc d'instructions 
quand une condition est vérifiée.

En Python, c'est l'indentation qui détermine les blocs d'instructions.
Un bloc d'instructions commence après une ligne d'entête terminée par le
caractère :. Les instructions d'un même bloc ont toutes la même
indentation (i.e. elles sont précédées du même nombre de tabulations). Le bloc
se termine quand la tabulation redevient la tabulation de la ligne
d'entête. Par exemple, le code ci-dessous contient un bloc d'instructions
qui contient les instructions instruction_1 à instruction_n

    ligne_d'entête :
       instruction_1
       instruction_2
       ...
       instruction_n
    suite_des_instructions_pas_dans_le_bloc

Notez qu'en Java ou en C les blocs sont délimités par les
caractètes { (début du bloc) et } (fin du bloc).

Une condition a une valeur booléenne c'est à dire
qu'elle peut être vraie ou fausse. C'est le type bool en Python
(valeurs possibles True et False). Les conditions
peuvent être combinées gràce aux opérateurs booléens and,
or et not.
Attention : les opérateurs and, or et not
 s'appliquent à des expressions de type booléens. 
La condition "mois==1 or 2 or 3" n'a pas de sens (ou plutôt n'a pas le sens 
attendu) puisque 1, 2 et 3 sont des entiers et pas des booléens. Il faut écrire
 "mois==1 or mois==2 or mois==3" si l'on veut savoir si mois vaut 1 ou 2 ou 3. 

Les énoncés conditionnels peuvent être composés (on dit aussi imbriqués)
pour combiner plusieurs conditions. Par exemple, dans le code ci-dessous,
quand cond1 et cond2 sont vraies, on exécute successivement
bloc1,bloc2,bloc3,bloc_final, et quand cond1 est vraie et cond2 est fausse 
on exécute bloc1, bloc3, bloc_final  :

    if cond1 :
       bloc1
       if cond2 :
          bloc2
       bloc3
    bloc_final

Les fonctions de conversion (cast en anglais) permettent
de changer le type d'une expression. Bien sûr, quand on convertit une
expression, on peut perdre de la précision, c'est le cas si l'on passe
d'un flottant à un entier (essayer par exemple int(5.6784)).
On peut aussi générer une erreur, quand la conversion est impossible, 
comme par exemple : int("BII")).

      

Collavizza Hélène