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

Contenu supprimé Contenu ajouté
m Bot : Remplacement de texte automatisé (- {,2}\| ?précédent {,3}= ?\[\[([\w\s]*)\/([\w\s]*)\|([\w\s]*)\]\] + | précédent = ../\2/)
mAucun résumé des modifications
Ligne 10 :
== Premier test conditionnel : Si ... Alors ==
 
On souhaite très souvent que les programmes aient un comportement dynamique, voirvoire interactif, c'est-à-dire que leur exécution se fasse en fonction d'évènements intervenant au cours de l'exécution. Ceci est possible par les '''tests conditionnels''', notamment avec l'instruction simple <code>Si (expression) Alors {suite d'instructions}</code>. Ici <code>expression</code> désigne quelque chose que l'on peut évaluer comme étant vrai ou faux. Par exemple, <code>x > 5</code> est vrai si <code>x</code> est égal à <code>10</code>, mais faux si <code>x</code> est égal à <code>3</code>.
 
Illustrons cette instruction par l'exemple suivant
Ligne 20 :
}
</pre>
Nous voyons que les variables <code>y</code> et <code>z</code> prendronsprendront respectivement les valeurs <code>0</code> et <code>1</code> si l'expression <code>x > 5</code> est vérifiée. En effet, le fait d'évaluer l'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'expression <code>x > 5</code> n'est justement pas vérifiée, que cese 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'expression <code>x > 5</code> se révèle fausse, nous pouvons utiliser le code suivant
<pre>
Ligne 40 :
== Second test conditionnel : Si ... Alors ... Sinon ==
 
Si vous avez compris la première partie de ce chapitre, alors cette partie-la vous semblera enfantine. Le plus simple est peut être de directement illustrer le test conditionnel <code>Si ... Alors ... Sinon</code> en reprenant l'exemple précédent.
<pre>
Si (x > 5) Alors
Ligne 70 :
* <code>||</code>, désignant l'opérateur "ou".
 
Il existe d'autreautres opérateurs booléens, comme par exemple le XOR, c'est-à-dire le "ou" exclusif, mais il n'est utile dans un premier temps de n'apprendre que les opérateurs ci-dessus.
 
== Combiner les tests conditionnels ==
 
Nous terminerons ce chapitre par cette remarque. Dans les exemples précédents, je n'ai utilisé que des instructions d'affectation dans les blocs. Or, vous pouvez utiliser toutes sortes d'instructioninstructions à l'interieurintérieur de ces blocs, y compris de nouveaux tests conditionnels !
 
Si vous avez bien compris ce chapitre, essayez de faire l'exercice suivant. La solution vous sera detailléedétaillée par menu deroulantdéroulant.
 
'''Exercice :''' Decrivez l'exécution du programme suivant.
Ligne 110 :
Que ce premier test soit vérifié ou non, nous exécutons dans les deux cas l'affectation <code>x = 12</code>, puisque cette affectation est en dehors de tout bloc d'une conditionnelle.
 
Ainsi, à la fin de notre programme, on ne peut pas connaître les valeurs de <code>y</code> et <code>z</code> puisqu'elles sont assujetties aux résultats des tests conditionnels du programme. Par contre, nous pouvons être sûrsûrs que la valeur de <code>x</code> sera <code>12</code>.
{{BDfin}}