Instrukcja blokowa
Z Wikipedii
Instrukcja blokowa - (instrukcja złożona) jako instrukcja strukturalna jest elementem składni języków programowania strukturalnego, wydzielona część kodu źródłowego programu komputerowego, stosowane np. do grupowania sekwencji instrukcji składowych (prostych lub złożonych), ujmując je w nawiazy zdaniowe.
Instrukcja blokowa wyróżniona jest przez odpowiednie symbole składniowe (nawiasy zdaniowe) , np. w językach C, C++, Java symbolami takimi są nawiasy klamrowe { }, w Algolu i Pascalu słowa kluczowe begin end.
Instrukcja blokowa jest traktowana na takich samych zasadach jak pojedyncza instrukcja.
Spis treści |
[edytuj] Rodzaje instrukcji blokowych
W różnych językach programowania istnieją dwa rodzaje instrukcji blokowej:
- instrukcja grupujÄ…ca
- instrukcja blokowa.
[edytuj] Instrukcja grupujÄ…ca
Z tego typu instrukcją mamy doczynienia w językach takich jak
begin instrukcje end;
DO; instrukcje END;
Instrukcje te grupują fragment kodu, który może być traktowany jak jedna instrukcja (w odniesieniu do instrukcji strukturalnych: warunkowych, pętli czy wyboru). Tego typu instrukcja blokowa jest więc tylko swoistym " nawiasem", nie ograniczającym zakresu deklaracji (np. zmiennych).
[edytuj] Instrukcja blokowa
Ten rodzaj instrukcji jest rozszerzeniem w porównaniu do instrukcji grupującej. Instrukcja ta stanowi rzeczywisty blok z ograniczeniem zakresu zawartych w niej deklaracji (np. zmiennych).
begin deklaracje zmienych lokalnych instrukcje end
{
deklaracje zmienych lokalnych
instrukcje
}
BEGIN; deklaracje zmienych lokalnych instrukcje END;
Różnicę między oboma rodzajami instrukcji blokowej widać najlepiej na przykładzie języka PL/1, w którym występują obie instrukcje, mając różne możliwości i zastowanie.
[edytuj] Języki strukturalne bez instrukcji blokowej
Wiele jęzków strukturalnych nie zawiera instrukcji blokowej. Do tej grupy należą te języki programowania, w których każda instrukcja sterująca posiada własne słowo kluczowe zamykające instrukcję strukturalną, a także nie przewidziano możliwości deklarowania zmiennych lokalnych w bloku. Do takich języków należą między innymi: Basic, Comal, Visual Basic
Przykład Visual Basic:
IF warunek THEN instrukcje END IF
[edytuj] Rozszerzenia instrukcji blokowych
[edytuj] Algol
Istnieje możliwość zastosowania instrukcji opuszczenia, aby wyjść z instrukcji blokowej:
begin ... exit ... end
[edytuj] Clipper
Postać instrukcji blokowej w języku Clipper:
BEGIN SEQUENCE instrukcje [BREAK [wyrażenie]] instrukcje [RECOVER [USING parametr]] instrukcje END [SEQUENCE]
Rozszerzenie instrukcji blokowej w języku Clipper polega na wprowadzeniu możliwości kontroli wykonania zawartych w niej instrukcji i możliwości ich przerwania (np. w sytuacjach błędów), za pomocą instrukcji opuszczenia BREAK. Instrukcja ta ma rozszerzenie o możliwość podania wyrażenia, które zostanie podstawione pod parametr podany we frazie USING sekcji RECOVER, do której następuje przejście po napotkaniu instrukcji BREAK. Stosowanie instrukcji blokowej w tym języku jako nawiasu spinającego jest zbędne, gdyż składania każdej instrukcji strukturalnej definiuje słowo zamykające.
[edytuj] Przykłady
while(W) I1; // wykonywana dopóki spełniony jest warunek W
I2; // wykona się raz - nie objęte pętlą
while(W)
{
I1; // wykonywane dopóki spełniony jest warunek W
I2;
}
Język Pascal
if(W) then I1;
I2;
if(W) then
begin
I1;
I2;
end;
| Włosi drżą przed imigrantami |
Stały napływ nielegalnych imigrantów nie na żarty przestraszył włoski rząd. W związku z tym, tamtejsze władze ogłosiły w piątek stan kryzysowy na terenie całego kraju.
|
| Uczył studentów jak godnie umierać |
Zmarł Randy Pausch, niezwykły wykładowca amerykańskiego uniwersytetu, który przekonywał swoich studentów, że umieranie nie jest tragedią. Chory na raka naukowiec zyskał popularność dzięki opublikowanemu w internecie wykładowi, podczas którego robił pompki i śmiał się ze zbliżającej śmierci.
|
| Z maczetami na uchodźców |
23 osoby zostały ranne po tym, jak kilkudziesięciu mężczyzn zaatakowało mieszkańców ośrodka dla uchodźców w Norwegii. Napastnicy mieli przy sobie metalowe pręty i maczety.
|
| Setki osób uciekają przed powodzią |
Ponad 300 osób zostało ewakuowanych po tym, jak ulewne deszcze spowodowały powodzie w północno-wschodniej Rumunii. Woda uszkodziła drogi, mosty i linie energetyczne.
|
| Samolot startował w ogniu |
241 pasażerów i 11 członków załogi musiało w czwartek po południu ewakuować się z samolotu startującego z lotniska w stolicy Indii, po tym jak zaraz po starcie stanął on w płomieniach. Na szczęście nikomu nic się nie stało.
|
Stały napływ nielegalnych imigrantów nie na żarty przestraszył włoski rząd. W związku z tym, tamtejsze władze ogłosiły w piątek stan kryzysowy na terenie całego kraju.
Zmarł Randy Pausch, niezwykły wykładowca amerykańskiego uniwersytetu, który przekonywał swoich studentów, że umieranie nie jest tragedią. Chory na raka naukowiec zyskał popularność dzięki opublikowanemu w internecie wykładowi, podczas którego robił pompki i śmiał się ze zbliżającej śmierci.
23 osoby zostały ranne po tym, jak kilkudziesięciu mężczyzn zaatakowało mieszkańców ośrodka dla uchodźców w Norwegii. Napastnicy mieli przy sobie metalowe pręty i maczety.
Ponad 300 osób zostało ewakuowanych po tym, jak ulewne deszcze spowodowały powodzie w północno-wschodniej Rumunii. Woda uszkodziła drogi, mosty i linie energetyczne.
241 pasażerów i 11 członków załogi musiało w czwartek po południu ewakuować się z samolotu startującego z lotniska w stolicy Indii, po tym jak zaraz po starcie stanął on w płomieniach. Na szczęście nikomu nic się nie stało.