Professional Documents
Culture Documents
Corrige IN2010203
Corrige IN2010203
ú'ûrüdý ù Ã Ü F9K76¯9¦#¤nFq79£Yn8¾¥O[öâ¡K79KF98G@45«¬#896RF98y¥ 8q©8L9ªK45I¥i@#44
6j¥I¥V²# O³n7qO\8
commandes manuelles
~
#OLdG
ùµy«O¥O796j«¬8'#£¸8q§ ¡KKj7
OjiK¥¡Gk«O6R²79¡n78q6RK45F9456F'£Yn8'-@£k¥6A898TK\8KjFK£YKn«8'97q¦n#£YI6Rq«OY79¡Kj£Y8d¦45KFYj96R7qY7q£¦\»º8y6R@_£k6R6£Y89©p8T8q\\8c¼â@¥O¾A£Yn£´§8'nj¡K³#8TnK4QFqO j£YKA£Y£¦¥\\8A824¹¡n£¦ O¡n£[49¦n«jF£¦k9@8
¦q¥O¡\¡n8I@79»r¦9 8
n6R7¥¦_6R£Y[9¡n8¼âÄ
/¥OY6²76R4545¥iKjKK«9¦#¤«¬#898q¦O£YVn8T7qn«O79¡n8qKFq¡V8T j7¾£Y6¹øj²# O7qi:Oµ
*
Gouverne
gouvernes
possède 2
Profondeur Direction THS Volet Bec Aileron
possède 1 2 4 2..* 2
dirige
1 1 1 possède
Avion
1 possède
1 1
1 possède
possède
possède
* * récupèreDonnées
Capteur CommandeVol
1 1 1
Gyroscope Pression
ADIRS FMS PA
fms pa
adirs 2
efcs
1
EFCS
efcs
CommandeManuelle
EFCSAuto EFCSManuel
ú'ûrüdý : Ã k6R²#796445I¥I@#j@n«qY«O79¡K£Y¦45Yj6RY79
On£Y·F O\8y7qn4
6R7·# jn8Â
£¦£¸\§ 68y897q8qnp£YK6RYq6RYqYj+8¾¥O·FV OA8q«¬£YY¡n-@k£´6R§ 6a£Yk³p8q6RYq+Y/6R 8T q²79# O j³³an67q¦jnnF8I¾8q6-Y8q¡KO45#4n#45 ¥O6j8y£YVq@pµ 9cÄ 6 O76R¦Q¡K²F6R£YK45KFi«O OqY£¦k8Tn7
ÃÃ
O£Y6-OI7qn79£Y6RK£kq6DY9¦#¤£YY6¥¨F§ 6R²#£Y7q¹¡n²#8q©p6D8T9q¦#ªn-45Q# ¥¹¥iKK45454
«¬6R#j8q¥O[9¹¦#¥I¹Ä ³£`¢-8qn8@45«¬#896RF98Gn8T OjQ79K£k6DqY"¥2§ 6²79¡K²#6RqY2µ
possède
Ã
£¦@\#8w464
@89#8q6jpj8TK¥kY¥6RcªnqÄ 7qY"j¥85# jjOY¥Ok@¦79Vn@·Fq OY"O£YOnn8-£¦£YKn845»r«¬79K#«O89796R¡nF8q9K8
Fq#¡nFn-85 O«jO67-¥¥O\ O8-7q¡n6898q¥p"KY³p6RYqYYjj85¥¡n6a«_³#nn/j¥O O6ROF/9÷_ªn¥ ÙO"8q©Y8Lj9¥ªKk45·F j6R¥F
Ã
£¦¥O\6R8¾_¥8G¦ö¬·F¡n O7qKn£l#8qK8j@8#£¸45§ 6«_898qFp8q6KY#6Rq82YÄ 8qi°º6R¦¼G8T¥¡n¥O OY8qKFV¥ ¥k6R²#796445I«O79¡n8qKF6RFG£Yn8¦Fqn796#¯9¦#j8¾KF97q
à £Y«j6¹6R7q@q£k6k@89 j8TI£¦YKñc7\ëyµ ò`ç n8T' jOK£Y6#8q8q6j8Tq76R¦qFK67d#wO°º6R¦'Kö¬\¯qY³n45KF'£Yn8yn6R£k@ O£k8d·F O«_# O7y O-45¥
:µy«O³#79 j«¬8y#£Y8q¦45K7¾¦q jn/7qn¥OÚVY6¢²£k7656R45@45_8LV97q¥O jQ@q@Y#j/@n¥¨«§ OqY//«_K¥q¡@¦G6ROY£¦£Y¡K4¹¤O»º796Dqq¥¨79§ ¦j«¬ ¡K978¾6D9K¦G#j«¬8¾¡K8q7 O6D79¦@#KjT8q¼di¥OKi£Y6#£Y8q6
8qcKÄ £Y6#8q8qQñcëyò`çaµ# j8
/¥OY6²76R4545¥iKjKK«9¦#¥O¡@96¦£Y£Y¡KI¥I£k6K£Y6#8q8qQñcëyò`ç \8L¾79K«O79¡n8qKFq¡V8q O7¾£Y6ø_² O79<jµ
EFCS Exception
− gouvernes : Gouverne []
− adris : ADIRS
getAdirs setAdirs
6#Û O 6²4
8T£Ynn86 OF£¦¥w jnK¥O8¹£´¨
w²£¦#\@ O8i j³£[K9n6¡w7q£YjK«On O798n£YD8Vµl³¿djK_w@q6Rq8T¦nI7q#¥O45#
¡@Iq£YÙj6/«jp6#45¥O8V¤¡@@9öâ\ÙOn8L
@¥q-6R Oj¡\68T8Q«Oq7¥«_6R
n¦£¦q¡n£k#6
`4YnK6RÀn75458T5n£¦°º#
6 @#·F2 Oµ Ü ££¸§ °º6 i8q·F«j O¦56A7i«¬K@K7945F459@7qQ
¥¥89¤6a6R³ K96RY7I£k@4
j8Tc6D£¦n9K7IY@·Fq£¦ O\q8
calculeAngles
45¥V¡@9£k6ÙO4¥¡KVq6iÙO¡@¥9¡I6 j«O¤«_#n£¦¡n®LG@¾«j@67d#£YG-ï¨9ÁÞn8Tqn -796«j6R¥O7d6R_ O8yOV£¦\@8¾@45£k64
898T6R\_8d¥8qG«_¡\4
@k6R6Rp£YY O89n6R£¦F£YµFñcïlë¾ Oò×7'ç+@n£k6£Y6jj#6D#9w O7q«jI689¥8qIGKK@-¾«j6R7®L6RK45i»rª@ï¨97qÁ
# K454
6Rj¥V4
6Rp On£¦£Y\¼@µ
6¡K²#6£¦n45KF«j7q¡\@k8T¡58T j7I£¦
8T¥2k£´6R§ ²#6R79«O6«¬4K£k456RF5¾·F2 O§
n8T@@«jqq658y45£YV¡@ïâ9ÙOÁ ¥
«_ O#O Oi³D@6R#¦45I£¦45n³6Kj7V¥ OVj4
6RKpO O@nK£¦«O£YqµY ¥5L©p«_
<Oµ¾89¢5@¡n«jj66R7T979¦¦7w¥K "798q7q\Ùj8T«¬¡K4
_65¥O«O6RF79¡n8q6RKF "q¡iÙj8q6 OO7²£kn6545øjK²#F OG7q¥
iù#£kO6
79K³D«O6R79£YK¡n O8qK7GF°rqn O7798TO#Yi j8y«j°r6#77q45 Oi¥¥¨\§ O8"²#©F¥79k#6R²#89@79#6«_4\458¾i¥i¥i£´§ 6a8q³p¡nY·F O2nµjjï`@Q# O£¦7
AppelantInvalideException
9¥ÁGYn·F -³ On¥O¡K¦4
»r7¾79K66#«j7q¯77qq6R¡\¦°L8T²#µOnyðc#¥O9/¡¹45£¸«_§ 6R6R«j7I¥«jI O6R679@K¡@qY£¸¦#°L6DO@I£¦KV@£Y Op«O¦q±ìY¡n£YKR7qjYqK\I j8LA67 Yjq#6#45¯q¦6R°Lqµ kÛ·F OV789K·#p j³'¼@#l£Y¦GV£¸§ «j6R¥«O¦n£Y«_R8¾96RK79K«jjY£`68qY8945²8qO¾K\QK8'
¥¥OK45 «j¥¦£Y OGRO¥¦6Rq²¡n«O8I¦q£Y¥OR#5 6Rqq²#\K8¾456R£Y«jn 8V8¾9¥«¬4
n j6D 7±
Oj[9¡n8¥V9K45«j8¾K7q\K6£YK O£¦£Yn8Kj8q¦²#On8y¢5«j67T9¦7¾¥¨§ ¡K£Y¡K45n#8¾@p9¡K79¦n O798d9 9n8¾£Yn8¾ jO[9¡n8¥O9K45«j8nµ
PilotageAuto
calculeEtatAvion()
elaborerConsignes()
calculeOrdres()
calculeAngles(this)
changerAngle()
yú ûrüAý 3 Ã Y6²76R4545¥i8q¡n·F Onj@
K¿dF\98¡K79¥¦nn O"7 6@qY³F¦q¡\8G8q¹¥¼@¡n¬7q£Y#I O«O£YKYF£¦qi¥Q6 °º6
q@##45"6R@qk#·Fj O@ O797979nK¥OFKq³p#¦nµ¬FÇpy`Y£¦j6#él¯qꦰLǵ \8L¦j6#¯9[°G»¸8T©p4Q¬£Yk8T¡i«_6R7G j¡@6D
ꥡn£¦k8qK7¾£YVK45«¬7qqK45n#¥ /«OY£YRqi6 q#4
6Dqk·F OV²7 K¢ O¥k6R²#796445V¥¨§ ¡@96R98T±¸9796j8q[9¦#j8Kµ
FMS.Inactif
Û V¥OY6²76R4545V¥2§ ¡K96D8L±´q76R_8T¦qYj8'79K«O79¡n8qKF6RFd£Yi@#4«¬7qqn45KF¥ /ïâÁ\8L«j7q¡\8Tn#9¡I8T O7¾£k6¹øj² j7q µ
tm(en(PilotageAuto),2)[not in(FMS.Inactif)]
Inactif
Actif
en(FMS.Inactif)
tm(en(Envoi),2)/envoiConsignes
Envoi
tm(en(Calcule),1)/calculeConsignes
Calcule
sutwvyxlzd{@z'v
yT~ j
F
dp`OLdGOcL
K¶ _#Û8T jn84Q7896RO·#£Y£Y£¦ j\#¼@ij#8£¸Y§£_45\8L@'q¥q Y798qq¹«¬Y£Y#n8q¹¥I¥¨¥ O§ OY³p8q79«¬i6#²£¦8q¹K797d¡K45²F¥26D¡n§ G OK6-¥¨O§ 4k8T45¡\®LKK¹69O8¥2Y§¦8q»ºÊÌ45KÈ@É945ÍD¥¨ÈÕ45Ч 6Qnɯ@«jµ ª\68A7G¢i@8q[9nn¡K8d47¡K6D«j£Yq¡K£¦n45 O O7GKFO«¬¹K8G79£¦45»rk8L«¬9@I j¬7d¥ OQ£Yn8'79n¡nj66
w8q£¦kK8q4QKÙO7Gjn£¦7c j¹"«j6R«j "7d6R@ O7@K#45 O4Q7«O O8G£Y£¦\q¥¼@¦ ± µ
q# j8y£Yn8¾¡n£¦¡n4nF98¾¥I£´§ 6²79¡K²F6Dnµ
ItérateurEnsemble Ensemble
ItérateurListe Liste
ItérateurMultiEnsemble MultiEnsemble
ùµy£Yn
6Dq¥¡nY²6#²7q7Y6Rn458'¥¨45§ ®LK98I ¥5£k6-ø_² O79 ¤«j7q¡\8Tn#9¥OK ¦Fqn7T°º6#@\88q«¬¡n@¦ø_6#I£Yn8I8qK79³pYKn87qnj¥ j8V«_6R7i¥n
#
· j
×
9
7 K
p
estTerminé()
à 9ÙO¥/£¦ªn³/ OO/KKK«9¦# ¥O¤L©p«¬
estTerminé()
8n§ Y£¾2§ © 6«O£¦ _8
¥¨§ ¡n£¦¡n45KF98
¥O6j85£Y
«£¦\8-_6R67²@79¡K j²#6R798n9µ8nc·F O°r# O7qjY898TnF- O8qK O£8Tn7q³pk@
élémentCourant() Object
·F O7qnF³#Y/ O 8T O7
PlusElémentException
OV«¬Kj8qKÚK±´³# j8y¥ ÙO#[¥n8yYFqK7q°º6Kn8y«j67¾796«O«¬7qy¢5¥\8@£k6898T\8y6Rj8Tq76R¦q\8
Û¥\6I8¾·#@ j£k6n8T89q8TY\8¾6R«_jF8Tq8T7¡n6R¾¦qYK\O8'n@8TGA¥@£k\68y89¦8TFk·Fqn O7TV°º6#ÂR@Y\£j8K8Kµ § 6R²#[A¥O ô ¥O¡Kj6RTq79Gõ¥n8A6a³a6F96R²#n8`@cYjKp³¡nO¦nF98l79n8q«_\¯q¦°º8
¡\O @ O6R799j¦8n798µQÜ O¥£¨³Dq6R79@ ¾¥nQ6458n«¬¦¬nq j¤7 O¥q@n#\8j8G£Y45n8 ¡Kqq45YÙO£YY¡@8q9K¥ÙO7\89¥¥¼@nµn 8I -¥QY F«Oq£YK j7q8n°º_6£YKnn88y¦«¬q¡K7 O6D@7¾9iKK O¥7j88qKK79³n£Yn7d8£k66R²#«_7q8TF¡n#²#8qF8q6DV¦j68y¦j£YO[98LQ9¡I79«¬¥¨6#[§ 9 O89n8qq8ªnY£¦¥k»r8Tn#n#7¾ OO«jO6I8«¬79K¥¨K §£k6DI6DT9«j9¦#7q6#¦ 8±
Itérateur Agrégat
#¦£k6£¦iKp¥OV¥On8¥n -YFqK7q°º6Kn8VÂ
/**
* <code>Itérateur</code> définit une interface pour tous les
* itérateurs sur des agrégats.
*
* @author <a href="mailto:garion@supaero.fr">Christophe Garion</a>
* @version 1.0
*/
public interface Itérateur {
/**
* <code>avancer</code> positionne l’élément courant sur
* l’élément suivant dans l’agrégat.
*
* @exception PlusElémentException si on a fini de parcourir l’
* agrégat
*/
public void avancer() throws PlusElémentException;
/**
* <code>estTerminé</code> permet de savoir si on est à la fin de
* l’agrégat.
*
* @return un <code>boolean</code> qui est <code>true</code> si
* on est à la fin de la liste.
*/
public boolean estTerminé();
/**
* <code>élémentCourant</code> renvoie l’élément courant.
*
* @return un <code>Object</code> qui est l’élément courant.
* @exception PlusElémentException si on a fini de parcourir l’
* agrégat
*/
public Object élémentCourant() throws PlusElémentException;
}
/**
* <code>Agrégat</code> représente un agrégat d’objets pouvant
* être manipulé par l’intermédiaire d’un itérateur.
*
* @author <a href="mailto:garion@supaero.fr">Christophe Garion</a>
* @version 1.0
*/
public interface Agrégat {
/**
* <code>créeItérateur</code> crée un itérateur pour l’agrégat.
*
* @return une instance d’<code>Itérateur</code> spécifique pour
* l’agrégat.
*/
public Itérateur créeItérateur();
8q#F j¾8y£¦\7qn8y4
@O6R@7n·#« jqKY79K_ÚG8¾·F·# O jV2£´«_§ #n O³¥n#F[¾À@OqY79KV/£¦8qn«_³¡\¡n@n¦8yøj¢5K7¾£¸§¥OY#69j¡K8'79¦£Yn65 O8q7¾¦²#¥ji6D@9\ O8y7qV45¥¡@\q8dÙjp45¥O¡Knq8nÙOµ ¥\8¾¥ F· OK£Y£¦\8
}
Itérateur
/**
* <code>nbEléments</code> permet de déterminer le nombre
* d’éléments d’un agrégat.
*
* @param ag un <code>Agrégat</code>
* @return le nombre d’éléments de ag
*/
public static int nbEléments(Agrégat ag) {
Itérateur i = ag.créeItérateur();
int nb = 0;
try {
while (!(i.estTerminé())) {
nb++;
i.avancer();
} // end of while (!(i.estTerminé()))
}
catch(PlusElémentException e) {
System.out.println("Accès au delà du dernier élément !");
}
return nb;
}
j«Û 67T9jY KQ O£Y¥¦n
7nµ @KµÛ T6 qw45·F¡@ Oq\Ùj8Lp9¦¥O# ¡K96[i¥
³# j8n8T°º/6RY798T96R4
qk·F6O O¦«jy OK£¦n£Y£Y7V£Y6OO4
qY6RO Y«O¥¨ O§ £Y¦q¡n«j796R6q8/n O¥¨7i§ ¦_8q68Lj6R8Vj6aK³n#8¦7V¥¥¨§ [£k96 ¡K7@6D£kq6n89 O8T7
}
nbEléments
Y¥¨Û O§n¦8yqOk6R45®L@£Y¡@998AÙO4
8T#6R¥ jkn8`8'8°r¥O-79 45«¬y j¥27q§ 7 O6i5YF6Rq8T79O#p£Y#n¥O¾6 O £Y¦n79¥O8¾©F8q«O_ O£¦6R _Y³a458'6¥2YF·F§q O¡nn£¦#8V¡nµF4 ¿dn'F998¾6O¥O£¦6\j6R 58'£¦n8TA96¥O#£¦j\6R' @p·#q jnj8T£kY6¹O£Y³aI6£¦ÂRn O57y£Y¥ OVj¥£Y6Q#O96O¦¾£Y£¦V OjYOy¦q9k6R6RY£Y£Y£¦ µ
Tableau Agrégat
à O¡nKn898q6¦79cÄ Tableau
ajouter(o : Object)
«¬K7945@I¥¨§ 6D®L OqK7 O¡K£Y¡K45KFI¢-£k6-øj¥ 96O£Yn6R @i6R O²#45KFq8q6-96¦£Y£¦58q
97 Kp³#¦£k6Q6RY£¦£YIKj@£¦öâªn³nV@q£¸Y§³¡KI£Y¡K¥45 n#96GO8q£Y¦nq6R O I¡iÄ ¢£k6¹«¬#8q¦qY
ÃÃ getTaille()
¥#[ À@97q@45«O79k8 8q2n#£k6¹97q«¬#8q¦qYK 2» § \8L«_68¾@#7q79n@qcÄ ¼@µ ¿d@T9 ¥O45 ¤¡KqÙO6RO¥£Yn6 27qµ np³Y
retirer(position : int) position
OO
79Kp³8q#2¦£¦ V£¦6R O£Y«On679K ¤45\Y8LK¾7³pk¡K¥£Yc¡K45Ä KF ¥ !6RO£Yn6 2µ ¿d@T9 45¡KqÙO¥ 7qnp³Y Oj
position getTaille() - 1
à ArgumentInvalideException
à TableauVideException
¥#[ À@97q@45«O79k8 8q2n79K#£k6¹p97q³«¬##¦8q¦q£¸Y§ ¡KK£Y ¡K452» n§ \#8LG8q«_¦q6 O8¾¡i@#¢7q£k796¹n@«¬q#c8qÄ ¦q¼@Yµ ¿d@T9 45¡Kqµ ÙO¥7qnp³Y
dernierElément()
à TableauVideException
getElément(position : int) position
OO
ÃÛ 6¹jRqi8q O7¾£YI¥Y6²76R4579@45q# O79«jO7q¡\@ jk8TV¦£Yqi¡n79@6Rq79n«j O8y7¥8TI j7¾£k6£¦49¡K6qOÙO£Yn6R¥
µ
position getTaille() - 1
¥ µ
ArgumentInvalideException
créeItérateur()
créeIterateur Tableau
Itérateur Agrégat
Tableau
tab
ItérateurTab + Tableau(tailleInitiale : int)
+ ajouter(o : Object)
+ retirer(position : int)
+ premierElément() : Object
+ dernierElément() : Object
+ getElément(position : int) : Object
+ getTaille() : int
+ créeItérateur() : Itérateur
°rÛ § O[979¡KO7Y6D7¾9K O OO7'V³D456¹¡@8q9KÙO79³p¥¦7y ¥¨§ ¦Fqn7q45¡\¥Y6¦79KFq·F79 OG¨£k796QKp£Yk³#8L9YK£´'§ ¡n£´£¦§ ¡n 45qY£¦KkF896DGq@n# O O779¥6Fy£Y6¹¥ £YY8Tq6R#Oµ £YÜ n£¬6³D 26¹µ K«j6R7qqk@ j£¦YK7
tab
n8q ¦¾8q/£Y 8L99¦#j8yV8K§@Röâ«O7q£YnYKF[¾9K¢45OK#F j8V£´§Â ¡n£¦¡n45KF@ j796#¥O6j8
élémentCourant
Ä n8T@KTqi8q£Y 9¦#/·F O×n8T
Ãà 8q¦8Tq V£´§ Yj¥k@¹¥I£¸§ ¡K£Y¡K45n#@ j796#¥O6j8 ×
µ
¿ §
79£k6¹@99K6p¦ O£Y£¦yI«¬¥ O7A6R¥OOn£Yn8l67 ¤6RkK8T#9nj¼@8µ ¥y°º6K¦£Y¦q¡¥¨§ qY£YY896D9¦#/»º4
6ROY«O O£k6D9¦#5¥2§ O5n#9¦n7n#@45«j6796Y8q¹6a³n
ItérateurTab
ItérateurTab
»º_¼@·F# OjK8L£ì»º987q¼ _¯³Dq6jn O»r#7yF«j6R¼7À@¥O9¡@7qu°º6R O£Y# »º 8¼ @#j8Tq79 j¯9K O7a»º8¼¥£Y6K£Y6#8q8q ItérateurTab
¦T±ì ²#679¥OK7 O
/**
* <code>ItérateurTab</code> est un itérateur pour un tableau.
*
* @author <a href="mailto:garion@supaero.fr">Christophe Garion</a>
* @version 1.0
*/
public class ItérateurTab implements Itérateur {
/**
* Crée une instance de <code>ItérateurTab</code>.
*
* @param l la <code>Liste</code> associée à l’itérateur
*/
public ItérateurTab(Tableau t) {
tab = t;
elementCourant = 1;
}
/**
* <code>avancer</code> renvoie l’élément suivant dans le tableau.
*
* @exception PlusElementException si on a fini de parcourir le
* tableau
*/
public void avancer() throws PlusElémentException {
if (estTerminé()) {
throw new PlusElémentException();
} // end of if (elementCourant == tab.getTaille())
elementCourant++;
}
/**
* <code>estTerminé</code> permet de savoir si on a fini de parcourir
* le tableau.
*
* @return <code>boolean</code> qui est <code>true</code> si on a
* fini de parcourir le tableau
*/
public boolean estTerminé() {
/**
* <code>élémentCourant</code> permet de récupérer l’élément
* courant du parcours.
*
* @return un <code>Object</code> qui est l’élément en cours
* @exception PlusElémentException si on a fini de parcourir le
* tableau
*/
public Object élémentCourant() throws PlusElémentException {
Object o = null;
if (estTerminé()) {
throw new PlusElémentException();
} // end of if (estTerminé())
try {
o = tab.getElément(elementCourant - 1);
}
catch (ArgumentInvalideException e) {
}
return o;
}
O£Y
K£k·F@# Ojn8y8L9797qK _4
¯q6n79 O·F7V OO\8G5 «_F8q6[I6R_8T#£¦ O45n#V«j6#8I¥5«O7q#O£YªK45¥Oªn8V£Y78·F O5£´§ #6a³D6R¦IY¥OKFq¦øj¡
@#7T±
}
£k£k66+£Y45Y8T¡Kq#qÙOµ Ü ¥£ °º6R /¥_/°º«¬6RKY7q O O£k6R_q@\K8L7 O8TO O7 8T§ ¦jK7q¡n456KFøjqjn57-¥O£k6+ ³D«j6R6£Y79KK O7 O79¥Y7
true
à avancer()
a
6 a
³
6 F
¤
¨
¥
£Y«¬5 j«O³a796O[d£YªK7q45nF³#D«O©7qnYj7×Kµ¨ O¦ïl«jj#6 £ O7·# j@nc£Y8T6j«_F8q 6q[IY£¦k¡K8q9I6R£Y¦65i45¥¨§ ¡@ 9qÙOY£¦k8q¥Kµ 7I£k6-545 q¡@Y9£YYÙO8qG¥@ KTÄ 9G45¡@9ÙO¥G¥O¥6 j8£k6V4¡KqÙO·#¥ j
avancer PlusElementException
elementCourant
à elementCourant estTerminé
£YÝ n8K4
@O6RK7K·F« O9K¦ÚG#j·F8 O¥O £´§ KK¥K ¨«Y9£×¦#°º-6£¦£k8q6R_¦£´§ KqO7@6RK¦q«OKq7Yµc£Y¿d-pn\456R8L£Y'K4545£¦nQ³K£YF¡n5¹V8T@»r D«_@®Lq6RKq7@«j@7qO·F¡\@ O@nk«8q6£¸q§ Y[ V9·#¦£Y jY¥O89¹6R6Dj9£´K§8# O O7y2O¹§ O6i£Y«Op«_79 68d«j³6¡K²79n¦6øj[¡·F«j O68 µ
getElément Tableau
ArgumentValideException
élémentCourant() ItérateurTab
null
o
_« 6R7 µ
µy¡\@79@¦7979¡KV j OOOiI@Y£kj68T8998T6Ij¥@I9¥n 8T
return
¥
R
6 Y
¦
£ Y
£ Q
y
: Ä ¥OF£Y645¡@9ÙO¥I«O79¦_@Y«j6R£Y5Â
ÃÃ 6D®L# qq79k8yYj8L6RjKn8¾¥
à @79q¡KY£YVY8q O/K@¦q¡K7[96D¡K97K6D Oq7¾n O8q O757¥O£Y6Rj98Q6Rj O£¦O\6R I_Ä # j¢
@£YK»º6R O£Y8qn O6«O I«¬Ä#8q¤·F O£´§ # O¤KO_6aók¹«j6#8Q£k6"£YO²# OK j7Q@öân@qY³
TestItérateurTab
Tableau
Integer
à ¥ 96O£¦\6R _¼KQ6R«O«¬K£Y£¦5£k6/45¡@qÙjp¥O
9L©p6O«_£¦ \6R 2µ Û 6545µ ¡@9ÙO¥ intValue()
7qnF³#YI£Y6w³a6£¦n¥O O
7G£Y¥6/Q@£¸£k§ 6KF898qq YK7»º¥#jI O«¬ j7i6¼
w6898TÙOK@7VY¡i£Yn¢
8V£´#§ #®L@®L@8I¥¥
intValue() Integer
int
#YK2£Y65K£Y6#8q8q Â
Integer
TestItérateurTab
/**
* <code>TestItérateurTab</code> est une classe de test pour
* l’itérateur de tableau.
*
* @author <a href="mailto:garion@supaero.fr">Christophe Garion</a>
* @version 1.0
*/
public class TestItérateurTab {
Itérateur i = t.créeItérateur();
try {
while (!(i.estTerminé())) {
System.out.println(((Integer)i.élémentCourant()).intValue());
i.avancer();
}
}
catch (PlusElémentException e) {
System.out.println("Il n’y a plus d’éléments dans le tableau !");
}
} // end of main ()
ÛO#¢i jK8y_@j79£¦Y²F\796RK¦4
¾¢6R7 ·F9 O¦£YKkÚG8Tn·F7¾ O O/£¸§ O £¦9¦£Y Y896D9¦#¤¥\8'4µ ¡KqÙO¥\8 @ ¥
}
ItérateurTabFiltre
/**
* <code>ItérateurTabFiltre</code> est un itérateur pour tableau ne
* prenant en compte que les éléments de type Filtrable.
*
* @author <a href="mailto:garion@supaero.fr">Christophe Garion</a>
* @version 1.0
*/
public class ItérateurTabFiltre extends ItérateurTab {
public ItérateurTabFiltre(Tableau t) {
super(t);
}
/**
* <code>avancer</code> positionne l’itérateur sur le prochain
* élément du tableau qui est de type Filtrable.
*
* @exception PlusElémentException s’il n’y a plus d’éléments de
* type Filtrable dans le tableau
*/
public void avancer() throws PlusElémentException {
do {
super.avancer();
} while (!(super.élémentCourant() instanceof Filtrable));
}
/**
* <code>estTerminé</code> permet de vérifier s’il existe encore
* des éléments de type Filtrable dans le tableau.
*
* @return un <code>boolean</code> qui est vrai s’il n’y a plus
* d’éléments de type Filtrable
*/
public boolean estTerminé() {
ItérateurTabFiltre copie = null;
try {
copie = (ItérateurTabFiltre)this.clone();
}
catch(CloneNotSupportedException e) {
}
try {
copie.avancer();
}
catch(PlusElémentException e) {
return true;
}
return false;
}
Û·FÛ O66
I8q@£´£k§6£Y# 89¤8T9I¦«j#¡K- O9Y6R89«O8q¦798q«¬°º¦6#45¦8q79«O¡K£Yi4
«_¢
#6 O¡\Y8y7y@79n£¸¦§£¦79¡n£YIIK7q8TO¦×qI j³7q/I# j ¥q8'VY£Y¡@Y£k896¹6R6R¦45¦¡K«j@q#6ÙO7q8¾79¥¥n@nq4
n46Rjn¥F¡ny£YµYnµ¦µ8G45¡@2qÙj§ np8T¥O¾n«_8Gn¥O iÀ@£Y6
97qK£Y6#«j8q68q8y £k6«O£Y j8y¡K£Y¡K²F6RFq µ
}
ItérateurTab
estTerminé
KÝ¢5pnk4
Ùj8Tq6#6RI·#7K j·#_ j@K°rÚ#79YV·F8y O¥£´¾§ n¦j8¾£´§¥O#¡nY£¦K¡ni45\8L8TKd OF7¾9O8'£YI£Y¦øj²#O£¦¡q#7 O¥¨6R³§j n£¦q\£¨Y8¾£¦¡Kk£Y8q¥O¡KK6R457cjK O8Fj£YG6¼@µ@£YY#8T«Oqw¦»¸¥OK 6R7¾#¤ OqY£¦k8TI£k6545¡@9ÙO¥ @# O796Fl«¬·F j O7A2³«¬¡n#7q8q¦[øj9n¦#7cO8KO§ ¦ £
ItérateurTabFiltre
avancer