Any programming language in which sections of
source code contained within pairs of matching delimiters
such as "{" and "}" (e.g. in
C) or "begin" and "end"
(e.g.
Algol) are executed as a single unit. A block of code
may be the body of a
subroutine or
function, or it may be
controlled by conditional execution (
if statement) or
repeated execution (
while statement,
for statement, etc.).
In all but the most primitive block structured languages a
variable's
scope can be limited to the block in which it
is declared.
Block-structured languages support
structured programming
where each block can be written without detailed knowledge of
the inner workings of other blocks, thus allowing a
top-down design approach.
See also
abstract data type,
module.