Кіріспе

Компьютерлік бағдарламалауда блок немесе код блогы немесе кодтың бөлігі – бірге топтастырылған бастапқы кодтың лексикалық құрылымы. Блоктар бір немесе бірнеше жариялаудан және операторлардан тұрады. Блоктарды, оның ішінде басқа блоктардың ішінде орналасқан блоктарды жасауға мүмкіндік беретін бағдарламалау тілі – блоктық құрылымды бағдарламалау тілі деп аталады. Блоктар құрылымдық бағдарламалаудың негізгі элементтері болып табылады, онда басқару құрылымдары блоктардан құралады. Блоктардың екі мақсаты бар: операторларды бір оператор ретінде қарастыру және атаулардың қолданылу аймағын анықтау арқылы оларды басқа жерде қолданылатын бірдей атаудан ажырату. Блоктық құрылымды бағдарламалау тілінде сыртқы блоктарда аталған объектілер ішкі блоктарда көрінеді, егер олар сол атпен жарияланған объектілермен жасырылмаса.

Тарих

Блок құрылымы туралы идеялар 1950 жылдары алғашқы автокодтарды жасау кезінде пайда болды және Algol 58 мен Algol 60 есептерінде қалыптастырылды. Algol 58 бақылау ағынымен ғана байланысты "құрама оператор" түсінігін енгізді. Ал, Algol 60 синтаксисі мен семантикасын сипаттаған кейінгі түзетілген баяндамада блок және блок көлемі түсінігі енгізілді, онда "begin мен end арасындағы декларациялар тізбегінен және операторлар тізбегінен тұратын блок" қарастырылады, мұнда "[әрбір декларация] осылай блок ішінде пайда болады және тек сол блок үшін ғана жарамды".

Шектеулер

Декларацияларды қолдайтын кейбір тілдер барлық декларацияларды толық қолдамайды; мысалы, көптеген C-ден туындаған тілдер блок ішінде функцияны анықтауға рұқсат бермейді (ішкі функциялар). Ал оның атасы Алголдан айырмашылығы, Паскальде бар блоктің begin және end арасында өз декларациялары бар блоктарды қолдау жоқ, тек қана if, while, repeat және басқа бақылау операторларында мәлімдемелер тізбегін біріктіруге мүмкіндік беретін күрделі операторлар бар.

Көтергіш

Кейбір тілдерде айнымалы функцияның аясында, тіпті ішкі блоктарда да жариялануы мүмкін. Мысалы, JavaScript-те `var` арқылы жарияланған айнымалылар функциялық аяқта болады.