Otwórz menu główne

DziałanieEdytuj

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ładyEdytuj

AdaEdytuj

 exit [when warunek]

AlgolEdytuj

 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.

C, C++, C++/CLI, C#, JavaEdytuj

 break;

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

ClipperEdytuj

 EXIT

dotyczy pętli FOR i DO WHILE,

 BREAK [wartość]

dotyczy instrukcji blokowej BEGIN SEQUENCEEND SEQUENCE

ForthEdytuj

  LEAVE

Icon, PythonEdytuj

 break

Makroasembler i program SALUTEdytuj

 $LEAVE warunek

PL/1Edytuj

 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.

PrologEdytuj

 ! – odcięcie
 fail – zawodzenie

Turbo Pascal, Borland Pascal, Object PascalEdytuj

 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

Visual BasicEdytuj

 Exit For
 Exit Do

Zobacz teżEdytuj