« Introduction générale à la programmation/Tests conditionnels » : différence entre les versions
Aucun résumé des modifications |
mAucun résumé des modifications |
||
Ligne 7 : | Ligne 7 : | ||
|suivant=[[Introduction générale à la programmation/Itérations|Itérations]] |
|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 == |
== Premier test conditionnel : Si ... Alors == |
||
On souhaite |
On souhaite très souvent que les programmes aient un comportement dynamique, voir interactif, c'est-à-dire que leur exécution se fasse en fonction d'évènements intervenant lors de l'exécution du programme. 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 |
Illustrons cette instruction par l'exemple suivant |
||
Ligne 23 : | Ligne 20 : | ||
} |
} |
||
</pre> |
</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 |
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 vérifiée. Mais si cette expression n'est justement pas vérifiée, que ce 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 |
Pour pouvoir exécuter une suite d'instructions si l'expression <code>x > 5</code> se révèle fausse, nous pouvons utiliser le code suivant |
||
<pre> |
<pre> |
||
Si (x > 5) Alors |
Si (x > 5) Alors |
||
Ligne 37 : | Ligne 34 : | ||
} |
} |
||
</pre> |
</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'expression <code>x > 5</code> est fausse alors l'expression <code>x <= 5</code> sera forcement 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 == |
== Second test conditionnel : Si ... Alors ... Sinon == |
||
Si vous avez compris la |
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> |
<pre> |
||
Si (x > 5) Alors |
Si (x > 5) Alors |
||
Ligne 48 : | Ligne 45 : | ||
z = 1; |
z = 1; |
||
} |
} |
||
Sinon |
Sinon |
||
{ |
{ |
||
y = 5; |
y = 5; |
||
Ligne 55 : | Ligne 52 : | ||
suite du programme... |
suite du programme... |
||
</pre> |
</pre> |
||
L' |
L'exé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'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 |
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 == |
||
Une |
Une opérateur booléen (du nom du mathématicien [http://http://fr.wikipedia.org/wiki/George_Boole George Boole]) est une opération dont la valeur rendue est soit vraie, soit fausse. Par exemple, dans l'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>, |
* <code>></code>, désignant l'opérateur "supérieur à", |
||
* <code>>=</code>, |
* <code>>=</code>, désignant l'opérateur "supérieur ou égal à", |
||
* <code><</code>, |
* <code><</code>, désignant l'opérateur "inférieur à", |
||
* <code><=</code>, |
* <code><=</code>, désignant l'opérateur "inférieur ou égal à", |
||
* <code>==</code>, |
* <code>==</code>, désignant l'opérateur "égal à", (à ne pas confondre avec un seul <code>=</code> qui est l'instruction d'affectation !), |
||
* <code>!=</code>, |
* <code>!=</code>, désignant l'opérateur "diffèrent de", |
||
* <code>!</code>, |
* <code>!</code>, désignant l'opérateur "négation". Par exemple <code>!(x>5)</code> est l'expression "<code>x</code> n'est pas supérieur à <code>5</code>", |
||
* <code>&&</code>, |
* <code>&&</code>, désignant l'opérateur "et". Par exemple <code>(x>5) && (y==2)</code> est l'expression "<code>x</code> est supérieur à <code>5</code> ET <code>y</code> est égal à <code>2</code>", |
||
* <code>||</code>, |
* <code>||</code>, désignant l'opérateur "ou". |
||
Il existe d'autre |
Il existe d'autre opérateurs boolé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 opérateur ci-dessus. |
||
[[Catégorie:Introduction générale à la programmation]] |
[[Catégorie:Introduction générale à la programmation]] |
Version du 19 mai 2007 à 11:05
Premier test conditionnel : Si ... Alors
On souhaite très souvent que les programmes aient un comportement dynamique, voir interactif, c'est-à-dire que leur exécution se fasse en fonction d'évènements intervenant lors de l'exécution du programme. Ceci est possible par les tests conditionnels, notamment avec l'instruction simple Si (expression) Alors {suite d'instructions}
. Ici expression
désigne quelque chose que l'on peut évaluer comme étant vrai ou faux. Par exemple, x > 5
est vrai si x
est égal à 10
, mais faux si x
est égal à 3
.
Illustrons cette instruction par l'exemple suivant
Si (x > 5) Alors { y = 0; z = 1; }
Nous voyons que les variables y
et z
prendrons respectivement les valeurs 0
et 1
si l'expression x > 5
est vérifiée. Mais si cette expression n'est justement pas vérifiée, que ce passe t-il ici ? Rien... nous voyons ici un premier exemple de non-séquentialité du code, puisque les instructions d'affectations y = 0
et z = 1
seront sautées, et par conséquent non exécutées.
Pour pouvoir exécuter une suite d'instructions si l'expression x > 5
se révèle fausse, nous pouvons utiliser le code suivant
Si (x > 5) Alors { y = 0; z = 1; } Si (x <= 5) Alors { y = 5; z = 7; }
où le symbole <=
désigne l'opérateur "inférieur ou égal". Cependant, un tel code n'est pas très esthétique et efficace : Si l'expression x > 5
est fausse alors l'expression x <= 5
sera forcement 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 Si ... Alors ... Sinon
.
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 Si ... Alors ... Sinon
en reprenant l'exemple précèdent.
Si (x > 5) Alors { y = 0; z = 1; } Sinon { y = 5; z = 7; } suite du programme...
L'exécution de ce code est simple : si l'expression x > 5
est vraie, alors nous aurons 0
comme valeur pour y
et 1
pour z
, et l'exécution du programme rependra à la ligne où j'ai écris "suite du programme".
Si au contraire x > 5
est faux, alors le programme exécutera directement les instructions comprises dans le bloc {...}
après Sinon
. Ainsi, sans évaluation d'autres expressions, nous aurons 5
comme valeur pour y
et 7
pour z
.
Opérateurs booléens
Une opérateur booléen (du nom du mathématicien George Boole) est une opération dont la valeur rendue est soit vraie, soit fausse. Par exemple, dans l'expression x > 5
, l'opérateur >
est un opérateur booléen. Nous noterons les opérateurs booléens de ce cours de la façon suivante :
>
, désignant l'opérateur "supérieur à",>=
, désignant l'opérateur "supérieur ou égal à",<
, désignant l'opérateur "inférieur à",<=
, désignant l'opérateur "inférieur ou égal à",==
, désignant l'opérateur "égal à", (à ne pas confondre avec un seul=
qui est l'instruction d'affectation !),!=
, désignant l'opérateur "diffèrent de",!
, désignant l'opérateur "négation". Par exemple!(x>5)
est l'expression "x
n'est pas supérieur à5
",&&
, désignant l'opérateur "et". Par exemple(x>5) && (y==2)
est l'expression "x
est supérieur à5
ETy
est égal à2
",||
, désignant l'opérateur "ou".
Il existe d'autre opérateurs boolé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 opérateur ci-dessus.