Instrukcja blokowa - Google

Instrukcja blokowa

Z Wikipedii

Skocz do: nawigacji, szukaj

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

Język C/C++

   
   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.
Linki: Strona g³ówna