Przejdź do zawartości

Instrukcja opuszczenia

Z Wikipedii, wolnej encyklopedii

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

[edytuj | edytuj kod]

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ć:

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 | edytuj kod]
 exit [when warunek]
 exit

przedmiotowa instrukcja dotyczy instrukcji blokowej beginend, 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.

 break;

przedmiotowa instrukcja dotyczy instrukcji pętli while(warunek), dowhile (warunek), for(…) oraz instrukcji switch(…)

 EXIT

dotyczy pętli FOR i DO WHILE,

 BREAK [wartość]

dotyczy instrukcji blokowej BEGIN SEQUENCEEND SEQUENCE

  LEAVE
 break

Makroasembler i program SALUT

[edytuj | edytuj kod]
 $LEAVE warunek
 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.

 ! – odcięcie
 fail – zawodzenie
 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; fordo instrukcja

 Exit For
 Exit Do

Zobacz też

[edytuj | edytuj kod]