The Free On-line Dictionary of Computing (30 December 2018):
block-structured
structured language
    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.
   (2004-09-29)