Блок (програмування)
Блок в програмуванні (англ. block) — замкнена складова частина програми, яка являє собою сукупність інструкцій, які утворюють сферу дії деяких ідентифікаторів (імен). Блоки є одним з головних елементів структурного програмування.
Поняття «блок» відповідає поняттю «підзадача» або «підалгоритм». Використовуючи блоки, можна розділити задачу на частини, які допускають автономне програмування.
Кожен блок вводить новий рівень позначень шляхом описання ідентифікаторів і міток. В блоці може міститись як оператор інший блок.
У багатьох сучасних мовах програмування блоки використовуються для описання тіла процедур, циклів, для визначення дій в операторах умовного переходу, а також можуть використовуватися самі по собі.
Історія
Ідеї щодо структурних блоків програми з'явилися у 1950-х роках при розробці перших автокодів, і були формалізовані з публікацією звітів про мови програмування Algol 58 і Algol 60. У Algol 58 було представлено поняття «комбінованого оператора» (англ. compound statement), тісно пов'язаного з потоком виконання.[1]
Наступний «Доопрацьований звіт» (англ. Revised Report) з описом синтаксису і семантики мови Algol 60 ввів поняття блоку і області видимості блоку (англ. block scope); блок складався з «послідовності декларацій, за якою слідує послідовність операторів; блок міститься між ключовими словами begin
і end
...», а «... кожна декларація у блоці є дійсною лише для даного блоку».[2]
Джерела інформації
- Perlis, A. J.; Samelson, K. (1958). Preliminary report: international algebraic language. Communications of the ACM (New York, NY, USA: ACM) 1 (12): 8–22. doi:10.1145/377924.594925.
- Backus, J. W.; Bauer, F. L.; Green, J.; Katz, C.; McCarthy, J.; Perlis, A. J.; Rutishauser, H.; Samelson, K.; Vauquois, B.; Wegstein, J. H.; van Wijngaarden, A.; Woodger, M. (May 1960). У Naur, Peter. Report on the Algorithmic Language ALGOL 60 3 (5). New York, NY, USA: ACM. с. 299–314. ISSN 0001-0782. doi:10.1145/367236.367262. Процитовано 27 жовтня 2009.
- Енциклопедія кібернетики, Халілов А. І., т. 1, с. 166.