Blok naredbi

U računalnom programiranju, blok naredbi (ili blok koda) je odsječak zajednički grupiranog koda, sličan paragrafu - takvi se blokovi sastoje od jedne ili više naredbi. Blokovi naredbi pospješuju čitljivost koda razbijanjem programa u logičke radne jedinice.

U jezicima C, C++, Java i drugima, blokovi naredbi su zatvoreni vitičastim zagradama {}. U jezicima Ada, Pascal i drugima, blokovi se označuju naredbama "begin" i "end". U jeziku Python se označuju indentacijom (off-side pravilo). Za razliku od paragrafa, blokovi naredbi mogu biti ugniježđeni, tj. jedan se blok može nalaziti unutar drugog. Blokovi često definiraju doseg identifikatora unutar djelokruga bloka.

Blokovi često imaju suptilne ali važne semantičke razlike. U jezicima u tradiciji C-a definiraju doseg identifikatora. U jeziku C++ se mogu rabiti za definiranje životnog vijeka objekta (stvaranje i uništavanje). U nekim jezicima (kao što je Pico) se koriste tek za puko grupiranje izraza bez poznavanja koncepta djelokruga varijable. U jezicima kao što je Smalltalk, blokovi su objekti na sebi svojstven način, prošireni s referencom na svoju definicijsku okolinu, tj. zatvorenosti.

Tipičan blok naredbi

int main(){  return 0;}

Ugniježđen blok naredbi

int main(){  int x=1;  if (x == 1)  {     x++;  }  return 0;}

Drugi formati

Java programeri tipično rabe nešto drukčiju konvenciju za smještanje vitičastih zagrada. Otvarajuća zagrada je na istoj liniji koda kao i deklaracija metode:

int main() {  return 0;}int main() {  int x=1;  if (x == 1) {     x++;  }  return 0;}

Visual Basic zatijeva eksplicitnu End naredbu, kao što slijedi:

If x > 0 Then  y = y + xEnd IfFor i = 1 To 10  ČiniNešto(i)Next ' or Next i

SQL Server i neki drugi jezici rabe Begin ... End blokove

IF y IS NOT NULLBEGIN  SELECT * FROM employee WHERE name = yEND