Il existe 4 formes d’instructions conditionnelles :
· Forme simple
· Forme alternative
· Forme généralisée
· Forme à choix multiple
SYNTAXE |
||
Analyse |
Algorithme |
Turbo Pascal |
[Init] Si condition Alors Instruction1 Instruction2
- - - - - - - -
InstructionN
FinSi |
Init1 - - - - - - - - Init InitN Si
condition Alors Instruction1 Instruction2 - - - - - - - - InstructionN FinSi |
Init1 ; - - - - - - - - ; Init InitN ; IF condition THEN begin Instruction1 ; Instruction2 ; --- - - - - - ; InstructionN ;
end ; |
Remarques : Lorsque l’évaluation de la condition produit la valeur Vrai les instructions entre Alors et FinSi Sont exécutées .
[Init] est une séquence d’instructions qui contiendra les éventuelles initialisations (valeurs initiales nécessaires à définir avant d’engager le traitement conditionnel).
SYNTAXE |
|
||||
Analyse |
Algorithme |
Turbo Pascal |
|
||
[Init] Si condition Alors
Traitement1
Sinon Traitement2
FinSi |
Init1 - - - - - - - - Init InitN Si condition Alors
Traitement1
Sinon Traitement2
FinSi
|
Init1 ; - - - - - - - - ; Init InitN ; IF
condition THEN begin Traitement1 ;
End ELSE begin
Traitement2 ; end ; |
|||
Remarque :
Lorsque l’évaluation de la condition produit la valeur :
Vrai
seules les instructions du traitement 1 Sont
exécutées
Faux seules
les instructions du traitement 2 Sont exécutées
SYNTAXE |
|
|||||
Analyse |
Algorithme |
Turbo Pascal |
|
|||
|
[Init] Si cond1 Alors Trait1
Sinon Si cond2 Alors Trait2 Sinon Si cond3 Alors Trait3 - - - - - - - - - - - Sinon Si condn-1 Alors Traitn-1
Sinon Traitn FinSi |
Idem
Sauf que les instructions du module Init précèdent celles de la structure conditionnelles |
Init1 ; - - - - - - - - ; InitN ; IF cond1 THEN Trait1 ELSE IF cond2 THEN
Trait2 ELSE IF cond3 THEN
Trait3
- - - - - - - - - - - ELSE IF
condn-1 THEN Traitn-1 ELSE Traitn ; |
|||
Remarques :
Seul un traitement est exécuté
Traiti
(i varie entre 1 & n-1)
si l’évaluation de la
condition condi retourne la
valeur Vrai ( i
varie de 1 à N-1)
Traitn si aucune des n-1 premières conditions
retournent la valeur vrai
Cette structure évite l’utilisation d’une trop longue structure conditionnelle généralisée et permet une meilleure lisibilité de la solution.
Cette
structure ne peut être utilisée que lorsqu’on a une condition testant la
relation entre une variable à une constante
de type scalaire discret.
SYNTAXE |
|
|||||
Analyse |
Algorithme |
Turbo Pascal |
|
|||
|
[Init] Selon sélecteur Faire
Valeurs1 : Trait1 Valeurs2 : Trait2
- - - - - - - - - - - Valeursn : Traitn
Sinon traitx Fin Selon |
Idem Sauf que les instructions du module Init précèdent celles de la structure conditionnelles |
Init1 ; - - - - - - - - ; InitN ; CASE sélecteur OF Valeurs1 : Trait1 ; Valeurs2 : Trait2;
- - - - - - - - - - - Valeursn : Traitn
ELSE traitx; END; |
|||
Remarques :
· La valeur du sélecteur doit être de type scalaire discret (entier, caractère, booléen, énuméré, intervalle).
· Cette structure ne peut vérifier que l’égalité (=) ou l’appartenance (dans) du sélecteur au valeuri.
· Valeursi peut être :
- une constante de type scalaire
- un intervalle de constantes (1..12)
- un ensemble de constantes et/ou intervalle de constantes séparés par des virgules
· Traiti : peut être une instruction ou suite d’instructions.
Exercice
Le matin un automobiliste par avec un réservoir plein d ‘essence et un compteur marquant F kilomètres .A la fin de la journée, il lui a fallu L litre pour remplir de nouveau le réservoir . Le compteur marque S kilomètres.
1) Ecrire une analyse du programme intitulé TAUX DE CONSOMMATION , qui lit les valeurs F , S , et L puis affiche le taux de consommation aux cent kilomètres de la voiture
2) Déduire l’algorithme du programme
3) Traduire cet algorithme en turbo pascal