Glossary
--------

variable:
    A named storage location for values. All variables have a type,
    which determines which values it can store.

value:
    A letter, or number, or other thing that can be stored in a
    variable.

type:
    A set of values. The types we have seen are integers (int in C++)
    and characters ( char in C++).

keyword:
    A reserved word that is used by the compiler to parse programs.
    Examples we have seen include int, void and endl.

statement:
    A line of code that represents a command or action. So far, the
    statements we have seen are declarations, assignments, and output
    statements.

declaration:
    A statement that creates a new variable and determines its type.

assignment:
    A statement that assigns a value to a variable.

expression:
    A combination of variables, operators and values that represents a
    single result value. Expressions also have types, as determined by
    their operators and operands.

operator:
    A special symbol that represents a simple computation like addition
    or multiplication.

operand:
    One of the values on which an operator operates.

precedence:
    The order in which operations are evaluated.

composition:
    The ability to combine simple expressions and statements into
    compound statements and expressions in order to represent complex
    computations concisely.


.. dragndrop:: chapter_two_glossary_1
   :feedback: Try again!
   :match_1: variable|||A named storage location.
   :match_2: value|||A letter, or number, or other thing that can be stored.
   :match_3: type|||A set of values.
   :match_4: keyword|||A reserved word that is used by the compiler to parse programs.


.. dragndrop:: chapter_two_glossary_2
   :feedback: Try again!    
   :match_1: statement|||A line of code that represents a command or action.
   :match_2: declaration|||A statement that creates a new variable and determines its type.
   :match_3: assignment|||A statement that assigns a value to a variable.
   :match_4: expression|||A combination of variables, operators and values that represents a single result value.


.. dragndrop:: chapter_two_glossary_3
   :feedback: Try again!    
   :match_1: operator|||A special symbol that represents a simple computation.
   :match_2: operand|||One of the values that is operated on.
   :match_3: precedence|||The order in which operations are evaluated.
   :match_4: composition|||To combine simple expressions and statements into compound statements and expressions.
