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

Contenu supprimé Contenu ajouté
Kaepora (discussion | contributions)
Aucun résumé des modifications
Kaepora (discussion | contributions)
mAucun résumé des modifications
Ligne 7 :
|suivant=[[Introduction générale à la programmation/Itérations|Itérations]]
}}
 
{{pas fini}}
Des fautes sont presentes. Je les corrigerai tres prochainement.
 
== Premier test conditionnel : Si ... Alors ==
 
On souhaite trestrès souvent que les programmes aient un comportement dynamique, voir interactif, c'est-aà-dire que leur executionexécution se fasse en fonction d'evenementsévènements intervenant lors de l'executionexécution du programme. Ceci est possible par les tests conditionnels, avec notamment avec l'instruction simple <code>Si (expression) Alors {suite d'instructions}</code>. Ici <code>expression</code> designedésigne quelque chose que l'on peut evaluerévaluer comme etantétant vrai ou faux. Par exemple, <code>x > 5</code> est vrai si <code>x</code> est egalégal aà <code>10</code>, mais faux si <code>x</code> est egalégal aà <code>3</code>.
 
Illustrons cette instruction par l'exemple suivant
Ligne 23 ⟶ 20 :
}
</pre>
Nous voyons que les variables <code>y</code> et <code>z</code> prendrons respectivement les valeurs <code>0</code> et <code>1</code> si l'expression <code>x > 5</code> est verifieevérifiée. Mais si cette expression n'est justement pas verifieevérifiée, que ce passe t-il ici ? Rien... nous voyons ici un premier exemple de non sequentialite-séquentialité du code, puisque les instructions d'affectations <code>y = 0</code> et <code>z = 1</code> seront sauteessautées, et par consequentconséquent non executeesexécutées.
Pour pouvoir executerexécuter une suite d'instructions si l'expression <code>x > 5</code> se revelerévèle fausse, nous pouvons utiliser le code suivant
<pre>
Si (x > 5) Alors
Ligne 37 ⟶ 34 :
}
</pre>
ou le symbole <code><=</code> designedésigne l'operateuropérateur "inferieurinférieur ou egalégal". Cependant, un tel code n'est pas trestrès estetiqueesthétique et efficace : Si l'expression <code>x > 5</code> est fausse alors l'expression <code>x <= 5</code> sera forcement vraie, et reciproquementréciproquement. Dans ce cas, pourquoi evalueeévaluer une expression que l'on sait d'avance vraie ou fausse ? Pour eviteréviter cette maladresse, il existe un test conditionnel un peu plus elaboreélaboré : le <code>Si ... Alors ... Sinon</code>.
 
== Second test conditionnel : Si ... Alors ... Sinon ==
 
Si vous avez compris la premierepremière partie de ce chapitre, alors cette partie-la vous semblera enfantine. Le plus simple est peut etreêtre de directement illustrer dele test conditionnel <code>Si ... Alors ... Sinon</code> en reprennantreprenant l'exemple precedentprécèdent.
<pre>
Si (x > 5) Alors
Ligne 48 ⟶ 45 :
z = 1;
}
Sinon
{
y = 5;
Ligne 55 ⟶ 52 :
suite du programme...
</pre>
L'executionexécution de ce code est simple : si l'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'executionexécution du programme rependra aà la ligne ou j'ai ecrisécris "suite du programme".
Si au contraire <code>x > 5</code> est faux, alors le programme executeraexécutera directement les instructions comprisentcomprises dans le bloc <code>{...}</code> apresaprès <code>Sinon</code>. Ainsi, sans evaluationévaluation d'autres expressions, nous aurons <code>5</code> comme valeur pour <code>y</code> et <code>7</code> pour <code>z</code>.
 
== OperateursOpérateurs booleensbooléens ==
 
Une operateuropérateur booleenbooléen (du nom du mathematicienmathématicien [http://http://fr.wikipedia.org/wiki/George_Boole George Boole]) est une operationopération dont la valeur rendue est soit vraie, soit fausse. Par exemple, dans l'expression <code>x > 5</code>, l'operateuropérateur <code>></code> est un operateuropérateur booleenbooléen. Nous noterons les operateursopérateurs booleensbooléens de ce cours de la faconfaçon suivante :
* <code>></code>, designantdésignant l'operateuropérateur "superieursupérieur aà",
* <code>>=</code>, designantdésignant l'operateuropérateur "superieursupérieur ou egalégal aà",
* <code><</code>, designantdésignant l'operateuropérateur "inferieurinférieur aà",
* <code><=</code>, designantdésignant l'operateuropérateur "inferieurinférieur ou egalégal aà",
* <code>==</code>, designantdésignant l'operateuropérateur "egalégal aà", (aà ne pas confondre avec un seul <code>=</code> qui est l'instruction d'affectation !),
* <code>!=</code>, designantdésignant l'operateuropérateur "differentdiffèrent de",
* <code>!</code>, designantdésignant l'operateuropérateur "negationnégation". Par exemple <code>!(x>5)</code> est l'expression "<code>x</code> n'est pas superieursupérieur aà <code>5</code>",
* <code>&&</code>, designantdésignant l'operateuropérateur "et". Par exemple <code>(x>5) && (y==2)</code> est l'expression "<code>x</code> est superieursupérieur aà <code>5</code> ET <code>y</code> est egalégal aà <code>2</code>",
* <code>||</code>, designantdésignant l'operateuropérateur "ou".
 
Il existe d'autre operateursopérateurs booleensbooléens, comme par exemple le XOR, c'est-a-dire le "ou" exclusif, mais il n'est utile dans un premier temps de n'apprendre que les operateuropérateur ci-dessus.
 
[[Catégorie:Introduction générale à la programmation]]