Structures conditionnelles
Le type booléen comprend deux valeurs Vrai et Faux, #t et #f en SCHEME.
Les expressions booléennes sont des expressions dont la valeur est un booléen. Elles peuvent être
Un prédicat est une fonction à valeurs booléennes. Par convention lexicale, les identificateurs de prédicat se terminent par un ``?'', exception faite des prédicats de comparaison de nombres.
Quelques prédicats prédéfinis en SCHEME :
Une expression conditionnelle est une expression composée dont la valeur dépend d'une ou plusieurs expressions booléennes appelées conditions. Une expression conditionnelle est de la forme :
| (if | condition |
| expr_alors | |
| expr_sinon) |
Les expressions conditionnelles sont des expressions spéciales, elles ne suivent pas la règle générale d'évaluation des expressions : condition est évaluée en premier, puis selon sa valeur c'est expr_alors (valeur = Vrai) qui est évaluée ou expr_sinon (valeur = Faux).
Les expressions conditionnelles sont composables. Pour éviter un parenthésage trop important dû à une grande imbrication d'expressions conditionnelles, on peut employer la forme cond
|
(cond |
(condition_1 | expression_1) |
| (condition_2 | expression_2) | |
|
... |
... | |
| (condition_n
(else |
expression_n)
expression_else) ) |
Cette forme correspond à l'écriture :
(if condition_1
expression_1
(if condition_2
expression_2
(if condition_n
expression_n
expression_else)...))
Nous avons eu l'occasion dans ce chapitre d'insister sur la nécessité de tester chaque fonction écrite en choisissant de manière pertinente les valeurs de test. Il est important de veiller à ce que ces valeurs de test couvrent l'ensemble des situations possibles.