Instrukcja opuszczenia
Z Wikipedii
Instrukcja opuszczenia – instrukcja zaniechania – instrukcja wyjścia z bloku – to instrukcja w danym języku programowania powodująca wyjście z określonej instrukcji strukturalnej.
Spis treści |
[edytuj] Działanie instrukcji opuszczenia
W programowaniu strukturalnym tworząc określony algorytm programista korzysta z dostępnych w języku programowania instrukcji strukturalnych i sterujących. Są to między innymi:
Czasem zachodzi potrzeba opuszczenia bloku wykonywanych instrukcji zawartych w jednej z w.w. instrukcji strukturalnych. Można tego dokonać:
- instrukcją skoku
- instrukcją opuszczenia.
W związku z szeroką krytyką stosowania instrukcji skoku, wprowadzono specjale instrukcje pozwalające na opuszczenie określonych bloków programów.
Działanie instrukcji opuszczenia ilustruje poniższy przykład i jego analogiczny odpowiednik z użyciem instrukcji skoku. Należy jednak pamiętać, że w konkretnych realizacjach określonego języka programowania działanie kodów źródłowych z instrukcją opuszczenia lub skoku mogą się różnić.
instrukcja opuszczenia | instrukcja skoku |
---|---|
while (warunek) { ... if (warunek2) break; ... } |
while (warunek) { ... if (warunek2) goto lab_end; ... } lab_end: ... |
[edytuj] Warianty instrukcji opuszczenia
W niektórych językach programowania wariantowo dodano pewne opcje dodatkowe rozszerzające możliwości tej instrukcji:
- dodanie możliwości opuszczenia określonej instrukcji strukturalnej w całej zagnieżdżonej hierarchii,
- dodanie możliwości określenia warunku opuszczenia bez konieczności stosowania instrukcji warunkowej,
- dodanie możliwości przekazania wartości celem obsługi błędów lub sytuacji wyjątkowych.
[edytuj] Języki programowania z instrukcją opuszczenia
[edytuj] Ada
exit [when warunek]
[edytuj] Algol
exit
przedmiotowa instrukcja dotyczy instrukcji blokowej begin…end, jeżeli jest ona instrukcją podlegającą przetwarzaniu w ramach instrukcji pętli to nastąpi opuszczenie pętli, ale można ją też stosować poza pętlą w instrukcji blokowej
[edytuj] C, C++, C++/CLI, C#, Java
break
przedmiotowa instrukcja dotyczy instrukcji pętli while(warunek), do … while (warunek), for(…) oraz instrukcji switch(…)
[edytuj] Clipper
EXIT
dotyczy pętli FOR i DO WHILE,
BREAK [wartość]
dotyczy instrukcji blokowej BEGIN SEQUENCE … END SEQUENCE
[edytuj] Forth
LEAVE
[edytuj] Icon
break
[edytuj] Makroasembler i program SALUT
$LEAVE warunek
[edytuj] PL/1
LEAVE [etykieta];
jest to rozszerzenie w stosunku do instrukcji w większości języków programowania, w których instrukcja opuszczenia pozwala na wyjście tylko z bieżącej pętli, jeżeli pętla bieżąca była zagnieżdżona w innej pętli to zewnętrzna pętla będzie wykonywana dalej, w PL/1 można wskazać w całej strukturze zagnieżdżonych pętli z której konkretnie instrukcji ma nastąpić opuszczenie, w braku etykiety zostanie opuszczona bieżąca instrukcja,
[edytuj] Prolog
! – odcięcie fail – zawodzenie
[edytuj] Turbo Pascal, Borland Pascal, Object Pascal
break;
w standardowym języku Pascal nie istniała instrukcja opuszczenia, w implemenatacji Trubo/Borland Pascal wprowadzono standardową procedurę modułu System (dostępnego w każdym programie), umożliwiającą opuszczenie instrukcji pętli while warunek do instrukcja; repeat instrukcje until warunek; for … do instrukcja
[edytuj] Visual Basic
Exit For Exit Do