Instrukcja opuszczenia
| Ten artykuł należy dopracować zgodnie z zaleceniami edycyjnymi: poprawić styl – powinien mieć encyklopedyczną formę. Po wyeliminowaniu niedoskonałości prosimy usunąć szablon {{Dopracować}} z kodu tego artykułu. |
Instrukcja opuszczenia (instrukcja zaniechania, instrukcja wyjścia z bloku) – instrukcja w danym języku programowania powodująca wyjście z określonej instrukcji strukturalnej.
Spis treści |
Działanie [edytuj]
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 ww. 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: ...
|
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.
Przykłady [edytuj]
Ada [edytuj]
exit [when warunek]
Algol [edytuj]
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.
C, C++, C++/CLI, C#, Java [edytuj]
break;
przedmiotowa instrukcja dotyczy instrukcji pętli while(warunek), do … while (warunek), for(…) oraz instrukcji switch(…)
Clipper [edytuj]
EXIT
dotyczy pętli FOR i DO WHILE,
BREAK [wartość]
dotyczy instrukcji blokowej BEGIN SEQUENCE … END SEQUENCE
Forth [edytuj]
LEAVE
Icon [edytuj]
break
Makroasembler i program SALUT [edytuj]
$LEAVE warunek
PL/1 [edytuj]
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.
Prolog [edytuj]
! – odcięcie fail – zawodzenie
Turbo Pascal, Borland Pascal, Object Pascal [edytuj]
break;
w standardowym języku Pascal nie istniała instrukcja opuszczenia, w implemenatacji Turbo/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
Visual Basic [edytuj]
Exit For Exit Do
Zobacz też [edytuj]
|
|||||||||||||||||||||