|=--------------------------------------------------=|
      _________________  .____     ___________________
     /   _____/\_____  \ |    |    \_   _____/\______ \
     \_____  \  /  / \  \|    |     |    __)_  |    |  \
     /        \/   \_/.  \    |___  |        \ |    `   \
    /_______  /\_____\ \_/_______ \/_______  //_______  /
            \/        \__>       \/        \/         \/
    
    
    |=--------------------------------------------------=|
    . |02.05 - Semantic gap                              .
    |=--------------------------------------------------=|
    
      The programming language  is generally perceived as
    the method of computer algorithm notation. To let the
    computer  process  a  task it's  necessary  to  enter
    instructions sequence. This  instructions sequence is
    commonly  called as  an  algorithm.  The sequence  of
    instructions  expressed  in programming  language  is
    called program.
    
      In current computers heart  of all the calculations
    is  the  processor.  It  processes  the  instructions
    in  assembly language.  The construction  of advances
    algorithms  in  assembler  is  quite  difficult.  The
    reason  is principle  of the  processor construction.
    The processor  can work only in  binary number system
    and  can  process   only  several  basic  operations.
    Instructions  in  assembler  consists only  from  the
    operation  and  binary  representation of  the  value
    stored in the computer memory.
    
      There  is  a  semantic gap  between  the  assembler
    language  and   human  thinking.   The  gap   can  be
    crossed   by   programming  languages   introduction.
    There  is  a  vast  amount  of  programming  language
    dialects  and  it  differs  in  the  complexity.  The
    complexity  of  programming  language is  the  bigger
    the  closer is  to the  human cognition.  The meaning
    of  higher  programming  languages is  to  offer  the
    most  understandable  and most  powerful  programming
    environment. The higher programming languages achieve
    that  by more  complex  construct implementation  and
    different abstraction of the data structures.
    
      The  way that  enables computer  to understand  the
    higher  languages  is   the  existence  of  so-called
    compiler.  Compiler   translates  program   from  the
    programming language to the assembler language.
    
    
    |=--------------------------------------------------=|
    |=--------------------------------------------------=|