Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ MENU ⇨ BBC BASIC

EXIT

DESCRIPTION.


L'instruction EXIT force la sortie prématuré et inconditionnel d'une boucle d'instructions FOR, REPEAT ou WHILE.




SYNTAXE.


EXIT FOR

EXIT REPEAT

EXIT WHILE




REMARQUES.


L'instruction EXIT doit se trouver à l’intérieur d'une boucle d'instructions et ne doit jamais être utilisée seule : 

- EXIT FOR doit se trouver dans une boucle d'instruction FOR / NEXT ; 

- EXIT REPEAT doit se trouver dans une boucle d'instruction REPEAT / UNTIL ; 

- EXIT WHILE doit se trouver dans une boucle d'instruction WHILE / ENDWHILE. 


Après l'appel de l'instruction EXIT, le programme se poursuit à partir de l'instruction suivant la cloture du bloc d'instructions correspondante. 


Un bloc d'instruction peut contenir plusieurs instruction de sortie prématurée EXIT, mais seule la première rencontrée sera exécutée.


Cas particulier : si plusieurs boucles pour tous, FOR / NEXT sont imbriquées, on pourra préciser quelle boucle d'instructions on souhaite quitter avec l'instruction composée EXIT FOR en indiquant l'identifiant de la variable à sa suite. Si il n'y a aucune référence à une variable, l'instruction EXIT FOR fera quitter la boucle d'instruction dans la quelle elle est présente.

FOR klongeur = 4 TO 8

PRINT "Longueur : " ; klongeur  ; " et " ; 

FOR klargeur = 2 TO 6

PRINT  "Largeur : " ; klargeur

FOR khauteur = 3 TO 9

kvolume = klongeur * klargeur * khauteur

IF kvolume > 50 THEN EXIT  FOR klargeur

PRINT kvolume ;

NEXT khauteur

NEXT klargeur

PRINT

NEXT klongeur

PRINT klongeur ; klargeur ; khauteur

END



Si des boucles d'instructions de diverses natures sont imbriquées, une instruction EXIT pourra faire "sauter" le programme à la suite d'une boucle de nature différente à celle où elle est présente. Par exemple : si une instruction EXIT REAPEAT se trouve dans une boucle WHILE / ENDWHILE imbriquée dans une boucle REPEAT / UNTIL, elle même imbriqué dans une boucle FOR NEXT, le programme se poursuivra bien à la suite de l'instruction UNTIL, en sortant aussi de la boucle WHILE sans qu'aucue erreur ne soit retournée.

FOR kvaleur = 3 TO 6

PRINT "kvaleur : " ; STR$( kvaleur )

REPEAT 

WHILE TRUE

FOR ktour = 1 TO 10

PRINT STR$( ktour ) ; " " ;

IF ktour > kvaleur THEN EXIT REPEAT

NEXT ktour

PRINT "Le double de " ; STR$( kvaleur ) ; " est " ; kvaleur * 2 

ENDWHILE

PRINT "Le triple de " ; STR$( kvaleur ) ; " est " ; kvaleur * 3 

UNTIL FALSE

PRINT "... fin. "  

NEXT kvaleur

END




EXEMPLES.


1. Sortir prématurément d'une boucle pour tous.

FOR kvaleur = 0 TO 1000000 

khasard = RND( 25 )

IF khasard > 20 THEN EXIT FOR

PRINT STR$( khasard ) ; " " ; 

NEXT kvaleur

PRINT " et pour finir " ; STR$( khasard ) 

END



2. Sortir prématurément d'une boucle faire tant que.

REPEAT 

khasard = RND( 25 )

IF khasard > 20 THEN EXIT REPEAT

PRINT STR$( khasard ) ; " " ; 

UNTIL FALSE

PRINT " et pour finir " ; STR$( khasard ) 

END



3. Sortir prématurément d'une boucle tant que.

WHILE TRUE

khasard = RND( 25 )

IF khasard > 20 THEN EXIT WHILE

PRINT STR$( khasard ) ; " " ; 

ENDWHILE

PRINT " et pour finir " ; STR$( khasard ) 

END

Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de

vos remarques, vos commentaires et de vos suggestions.

Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour

TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER

avec un exemple de résolution à télécharger pour vous inspirer.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse