Instrukcja opuszczenia – Wikipedia, wolna encyklopedia

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]