« Introduction générale à la programmation/Tests conditionnels » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (- l'on + l’on )
m Robot : Remplacement de texte automatisé (- l'utilisation + l’utilisation , - d'asile + d’asile , - s'inspirer + s’inspirer , - l'expression + l’expression , - d'usage + d’usage , - d'autre + d’autre , - d'important + d’important...
Ligne 21 :
}
</pre>
Nous voyons que les variables <code>y</code> et <code>z</code> prendront respectivement les valeurs <code>0</code> et <code>1</code> si l'expressionl’expression <code>x > 5</code> est vérifiée. En effet, le fait d'évaluer l'expressionl’expression <code>x > 5</code> comme vraie implique l'exécution de la suite d'instructions entre les accolades <code>{</code> et <code>}</code>, ce que nous appellerons par la suite un bloc d'instructions.
 
Si l'expressionl’expression <code>x > 5</code> n'est justement pas vérifiée, que se passe -t-il ici ? Rien... nous voyons ici un premier exemple de non-séquentialité du code, puisque les instructions d'affectations <code>y = 0</code> et <code>z = 1</code> seront sautées, et par conséquent non exécutées.
Pour pouvoir exécuter un bloc d'instructions si l'expressionl’expression <code>x > 5</code> se révèle fausse, nous pouvons utiliser le code suivant
<pre>
Si (x > 5) Alors
Ligne 37 :
}
</pre>
où le symbole <code><=</code> désigne l'opérateur "inférieur ou égal". Cependant, un tel code n'est pas très esthétique et efficace : Si l'expressionl’expression <code>x > 5</code> est fausse alors l'expressionl’expression <code>x <= 5</code> sera forcément vraie, et réciproquement. Dans ce cas, pourquoi évaluer une expression que l’on sait d'avance vraie ou fausse ? Pour éviter cette maladresse, il existe un test conditionnel un peu plus élaboré : le <code>Si ... Alors ... Sinon</code>.
 
== Second test conditionnel : Si ... Alors ... Sinon ==
Ligne 55 :
suite du programme...
</pre>
L'exécution de ce code est simple : si l'expressionl’expression <code>x > 5</code> est vraie, alors nous aurons <code>0</code> comme valeur pour <code>y</code> et <code>1</code> pour <code>z</code>, et l'exécution du programme rependra à la ligne où j’ai écris "suite du programme".
Si au contraire <code>x > 5</code> est faux, alors le programme exécutera directement les instructions comprises dans le bloc <code>{...}</code> après <code>Sinon</code>. Ainsi, sans évaluation d'autres expressions, nous aurons <code>5</code> comme valeur pour <code>y</code> et <code>7</code> pour <code>z</code>.
 
== Opérateurs booléens ==
 
Un '''opérateur booléen''' (du nom du mathématicien [[w:George Boole|George Boole]]) est une opération dont la valeur rendue est soit vraie, soit fausse. Par exemple, dans l'expressionl’expression <code>x > 5</code>, l'opérateur <code>></code> est un opérateur booléen. Nous noterons les opérateurs booléens de ce cours de la façon suivante :
* <code>></code>, désignant l'opérateur "supérieur à",
* <code>>=</code>, désignant l'opérateur "supérieur ou égal à",
Ligne 67 :
* <code>==</code>, désignant l'opérateur "égal à", (à ne pas confondre avec un seul <code>=</code> qui est l'instruction d'affectation !),
* <code>!=</code>, désignant l'opérateur "diffèrent de",
* <code>!</code>, désignant l'opérateur "négation". Par exemple <code>!(x>5)</code> est l'expressionl’expression "<code>x</code> n'est pas supérieur à <code>5</code>",
* <code>&&</code>, désignant l'opérateur "et". Par exemple <code>(x>5) && (y==2)</code> est l'expressionl’expression "<code>x</code> est supérieur à <code>5</code> ET <code>y</code> est égal à <code>2</code>",
* <code>||</code>, désignant l'opérateur "ou".