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.

Exemple :<br />

7<br />

type T_MENTION is (MAUVAIS, PASSABLE, ASSEZ_BIEN, BIEN, TRES_BIEN);<br />

NOTE<br />

LA_MENTION<br />

: INTEGER; -- déclaration pas terrible.<br />

: T_MENTION;<br />

case NOTE is<br />

when 0 | 1 | 2 | 3 | 4 => LA_MENTION := MAUVAIS;<br />

when 5 | 6 | 7 | 8 => LA_MENTION := PASSABLE;<br />

when 9..12 => LA_MENTION := ASSEZ_BIEN;<br />

when 13 | 14 | 15 => LA_MENTION := BIEN;<br />

when 16..20 => LA_MENTION := TRES_BIEN;<br />

when others => null; -- obligatoire car NOTE est<br />

-- déclarée INTEGER!<br />

end case;<br />

Autre exemple (plus intelligent !) :<br />

subtype T_UNE NOTE is INTEGER range 0..20; -- c'est mieux<br />

LA_NOTE<br />

LA_MENTION<br />

: T_UNE NOTE;<br />

: T_MENTION;<br />

case LA_NOTE is<br />

when 0..4<br />

when 5..8<br />

when 9..12<br />

when 13..15<br />

when 16..20<br />

=> LA_MENTION := MAUVAIS;<br />

=> LA_MENTION := PASSABLE;<br />

=> LA_MENTION := ASSEZ_BIEN;<br />

=> LA_MENTION := BIEN;<br />

=> LA_MENTION := TRES_BIEN;<br />

end case;<br />

La branche others n'est maintenant pas utilisée, car toutes les valeurs du type énumératif T_UNE_NOTE sont<br />

envisagées. Ce ne serait pas une faute de laisser le others (mais il ne sert à rien !).<br />

L’instruction « bloc » :<br />

Voyons un bon exemple connu (lecture validée d’un type discret cf. Paquetage P_E_SORTIE) :<br />

loop<br />

declare<br />

CHAI : UNBOUNDED_STRING;<br />

begin<br />

LIRE (CHAI);<br />

VAR_DISCRET := T_DISCRET'VALUE(TO_STRING(CHAI));<br />

exit;<br />

exception when others =><br />

null; -- ou message ECRIRE("xxxxx");<br />

end;<br />

end loop;<br />

L’instruction bloc est, ici, « encapsulée » dans une structure répétitive loop.<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!