"""
Multiple Choice

    1. A group of statements that exist within a program for the purpose of performing a specific task is a(n) __________.
        a. block
        b. parameter
        c. function
        d. expression

    2. A design technique that helps to reduce the duplication of code within a program and
    is a benefit of using functions is __________.
        a. code reuse
        b. divide and conquer
        c. debugging
        d. facilitation of teamwork

    3. The first line of a function definition is known as the __________.
        a. body
        b. introduction
        c. initialization
        d. header

    4. You __________ the function to execute it.
        a. define
        b. call
        c. import
        d. export

    5. A design technique that programmers use to break down an algorithm into functions
    is known as __________.
        a. top-down design
        b. code simplification
        c. code refactoring
        d. hierarchical subtasking

    6. A __________ is a diagram that gives a visual representation of the relationships
    between functions in a program.
        a. flowchart
        b. function relationship chart
        c. symbol chart
        d. hierarchy chart

    7. A __________ is a variable that is created inside a function.
        a. global variable
        b. local variable
        c. hidden variable
        d. none of the above; you cannot create a variable inside a function  
    
    8. A(n) __________ is the part of a program in which a variable may be accessed.
        a. declaration space
        b. area of visibility
        c. scope
        d. mode

    9. A(n) __________ is a piece of data that is sent into a function.
        a. argument
        b. parameter
        c. header
        d. packet    

    10. A(n) __________ is a special variable that receives a piece of data when a function is called.
        a. argument
        b. parameter
        c. header
        d. packet    

    11. A variable that is visible to every function in a program file is a __________.
        a. local variable
        b. universal variable
        c. program-wide variable
        d. global variable

    12. When possible, you should avoid using __________ variables in a program.
        a. local
        b. global
        c. reference
        d. parameter

True or False

    1. The phrase “divide and conquer” means that all of the programmers on a team should
    be divided and work in isolation.

    2. Functions make it easier for programmers to work in teams.

    3. Function names should be as short as possible.

    4. Calling a function and defining a function mean the same thing.

    5. A flowchart shows the hierarchical relationships between functions in a program.

    6. A hierarchy chart does not show the steps that are taken inside a function.

    7. A statement in one function can access a local variable in another function.

    8. In Python you cannot write functions that accept multiple arguments.

    9. In Python, you can specify which parameter an argument should be passed into a function call.

    10. You cannot have both keyword arguments and non-keyword arguments in a function call.

"""