Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Instrukcja blokowa - Wikipedia, wolna encyklopedia

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

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;

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com