Instrukcja opuszczenia
Z Wikipedii
Instrukcja opuszczenia – instrukcja zaniechania – instrukcja wyjścia z bloku – to instrukcja w danym języku programowania powodująca wyjście z określonej instrukcji strukturalnej.
Spis treści |
[edytuj] Działanie instrukcji opuszczenia
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 w.w. 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: ...
|
[edytuj] Warianty instrukcji opuszczenia
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.
[edytuj] Języki programowania z instrukcją opuszczenia
[edytuj] Ada
exit [when warunek]
[edytuj] 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
[edytuj] C, C++, C++/CLI, C#, Java
break
przedmiotowa instrukcja dotyczy instrukcji pętli while(warunek), do … while (warunek), for(…) oraz instrukcji switch(…)
[edytuj] Clipper
EXIT
dotyczy pętli FOR i DO WHILE,
BREAK [wartość]
dotyczy instrukcji blokowej BEGIN SEQUENCE … END SEQUENCE
[edytuj] Forth
LEAVE
[edytuj] Icon
break
[edytuj] Makroasembler i program SALUT
$LEAVE warunek
[edytuj] 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,
[edytuj] Prolog
! – odcięcie fail – zawodzenie
[edytuj] Turbo Pascal, Borland Pascal, Object Pascal
break;
w standardowym języku Pascal nie istniała instrukcja opuszczenia, w implemenatacji Trubo/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
[edytuj] Visual Basic
Exit For Exit Do
[edytuj] Zobacz też
| Mityng w Londynie: rekord Majewskiego, Chojecka bez minimum |
|
W pierwszym dniu mityngu Super Grand Prix IAAF na stadionie Crystal Palace w Londynie przygotowujący się do występu w igrzyskach olimpijskich w Pekinie Tomasz Majewski (AZS AWF Warszawa) wynikiem 20,97 ustanowił rekord życiowy i zajął trzecie miejsce w konkursie pchnięcia kulą.
|
| Obrońca Barcelony przechodzi do Ajaksu |
|
Hiszpański obrońca Oleguer Presas będzie przez najbliższe trzy lata występował w Ajaksie Amsterdam. Holenderski klub zapłacił dotychczasowemu pracodawcy 28-letniego obrońcy, FC Barcelonie, trzy miliony euro.
|
| 11 bramek piłkarzy Wisły Kraków |
|
Krakowska Wisła zamiast meczu ligowego z Ruchem Chorzów rozegrała sparing z Młodą Wisłą wygrywając 11:0.
|
| Charlie Gjedde nowym żużlowcem Lotosu Gdańsk |
|
Duńczyk Charlie Gjedde został w piątek żużlowcem pierwszoligowego Lotosu Gdańsk. Został wypożyczony z ZKŻ Zielona Góra, w barwach nowego klubu zaprezentuje się już w niedzielę podczas meczu Lotosu z GTŻ Grudziądz.
|
| Bramkarz reprezentacji Anglii zmienił klub |
|
Bramkarz reprezentacji Anglii Paul Robinson przeszedł z Tottenham Hotspur do Blackburn Rovers. Klub z Ewood Park zapłacił "Kogutom" za 28-letniego golkipera 3,5 miliona funtów.
|