LES ALTERNATIVES

Dans la vie, nos actions sont fréquemment conditionnées par la réalisation ou non réalisation de certains événements. Il en va de même dans la description des algorithmes, ou nous sommes souvent contraint de faire des choix entre des traitements différents selon le résultat de certains tests ou la réponse à certaines questions.

31. L'instruction "cas"

Ci : les différentes conditions

Ti : les différents traitements

Syntaxe : Cas

C1 ® T1;

C2 ® T2;

...

Ci ® Ti

[ Autres ® Ti+1; ]

FCas;

Sémantique :

- Les Ci sont des expressions à résultat booléen et les Ti sont des actions.

- Les expressions booléennes Ci sont toutes évaluées en même temps. Une seule condition Ci doit avoir pour résultat : vrai.

- Lorsque la condition Ci est vraie le traitement Ti correspondant est exécuté.

- Si aucune condition Ci n'est vraie l'instruction cas est terminée sans effectuer de traitement.

Lorsque toutes les conditions Ci sont fausses on exécute l'action Ti correspondant à la condition Ci qui est vraie.

On entre 2 nombres, on doit afficher le plus grand.

ALGO grand;

VAR ent N1,N2,N3;

DEBUT

ecrire('Nombre 1');

lire(N1);

ecrire('Nombre 2');

lire(N2);

Cas

N1>=N2 ® N3:=N1;

N2> N1 ® N3:=N2;

FCas;

ecrire('Le plus grand est ',N3);

FIN.

 

 

 

 

 

 

 

 

 

 

ALGO equation2

VAR réel a,b,c,delta;

DEBUT

ecrire('ax2=');

lire(a);

ecrire('bx =');

lire(b);

ecrire('c =');

lire(c);

delta:=b^2-(4*a*c);

Cas

delta<0 ® ecrire('Pas de solution');

delta=0 ® ecrire('Solution unique',(-b)/(2*a));

delta>0 ® ecrire('Solution 1',(-b)+sqrt(delta)/(2*a))

ecrire('Solution 2',(-b)-sqrt(delta)/(2*a));

FCas;

FIN.

32. L'instruction "Si"

Lorsqu'on a une seule condition C à tester pour exécuter un traitement T1 si la condition est vraie, ou un traitement T2 si la condition est fausse, ou aucun traitement si la condition est fausse.

Syntaxe : Si C Alors T1; [ Sinon T2; ]

FinSi

Sémantique : T1 et T2 désigne chacun une suite d'instructions pouvant elles-mêmes être des instructions conditionnelles.

Une instruction conditionnelle à une structure parenthèsée, chaque partie étant délimitée par les symboles 'si' 'alors' 'sinon' 'finsi'.