09.11.2014 Views

Cours Ada 1 - Libre

Cours Ada 1 - Libre

Cours Ada 1 - Libre

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5<br />

Les instructions alternatives<br />

L'instruction de choix : if<br />

Nous avons vu en Algorithmique (et en codage <strong>Ada</strong> associé) l'instruction de choix if dans sa forme simple (if<br />

then .. end if) et dans sa forme double (if then .. else .. end if). En <strong>Ada</strong> l'instruction if<br />

peut gérer bien plus que ces deux cas. La syntaxe est la suivante (D.S. déjà proposé dans le cours n°1!) :<br />

instruction if :<br />

if expression then suite d’instructions<br />

elsif expression then suite d’instructions<br />

else<br />

suite d’instructions<br />

end if ;<br />

Ce qui nous intéresse ici c’est, au milieu, la « cascade » de elsif que l’on peut intercaler entre le then et le<br />

else. Le elsif signifie else if mais n’implique pas de end if. Cette forme permet de gérer efficacement la<br />

succession de plusieurs if avec un seul end if. L’expression est booléenne évidemment.<br />

Exemple : (à voir dans l'exercice : « nombre de jours d’un mois » exercice n°2 du cours n°2 !)<br />

type<br />

T_MOIS is (JANVIER, FEVRIER, MARS, AVRIL, MAI, JUIN,<br />

JUILLET, AOUT, SEPTEMBRE, NOVEMBRE, DECEMBRE);<br />

MOIS : T_MOIS;<br />

if MOIS = FEVRIER<br />

then .....—- le mois fait 28 ou 29 jours<br />

elsif (MOIS = AVRIL) or (MOIS = JUIN) or (MOIS = SEPTEMBRE)<br />

or (MOIS = NOVEMBRE)<br />

then ....—- le mois fait 30 jours<br />

else -- ce sont les autres mois restants : MARS, MAI,....<br />

.....—- le mois fait 31 jours<br />

end if;<br />

Rappel : plusieurs branches elsif peuvent être présentes (ce n’est pas le cas ici).<br />

Nous verrons de nombreuses applications dans les TD et TP <strong>Ada</strong>.<br />

D. Feneuille I.U.T. Aix 2001 (cours n°3 fichier COURS3.DOC) 30/06/02

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!