Instrukcja opuszczenia (instrukcja zaniechania, instrukcja wyjścia z bloku) – instrukcja w danym języku programowania powodująca wyjście z określonej instrukcji strukturalnej.
Działanie 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: instrukcja blokowa, instrukcja warunkowa, instrukcja wyboru, instrukcja pętli.
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 Ada exit [when warunek]
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.
C, C++, C++/CLI, C#, Java break; przedmiotowa instrukcja dotyczy instrukcji pętli while(warunek), do … while (warunek), for(…) oraz instrukcji switch(…)
Clipper EXIT dotyczy pętli FOR i DO WHILE, BREAK [wartość] dotyczy instrukcji blokowej BEGIN SEQUENCE … END SEQUENCE
Forth LEAVE
Icon, Python break
Makroasembler i program SALUT $LEAVE warunek
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.
Prolog ! – odcięcie fail – zawodzenie
Turbo Pascal, Borland Pascal, Object Pascal 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 Exit For Exit Do
Zobacz też instrukcja kontynuacji
Kategoria:Konstrukcje programistyczne