| A | B |
| bottom-up testing | the independent testing of modules |
| function | a subprogram |
| subprograms | programs within a program, completing one task |
| abstract data type (ADT) | defined types consisting of a class of objects, a defined set of properties of the objects and a set of processes for processing the objects |
| function implementation | describes in detail how the function performs its task |
| function heading | the first line of the function implementation - looks like the function declaration |
| actual parameters | used when the function is called |
| function declaration | its name, the number and kind of arguments it expects when you invoke it and the type of value, if any, that it returns |
| formal parameters | an argument name following each type in the argument list of a function |
| locally declared data | variables declared within the local block of the functgion and are only needed within the function |
| stub programming | a no-frills, simple version of what will be a final program, tests for correct logic and value passing |
| main driver | main function |
| void function | returns no values |
| allocates | the system reserving memory locations |
| deallocates | the system releasing memory locations |
| local copy | a copy of the value indicated by a value parameter and used within a function |
| reference parameter - passed by referrence | requires the address of the actual parameter to be passed to the subprogram - the actual parameter can be changed by the subprogram |
| alias | has & preceding the formal parameter name |
| value parameter - passed by value | a copy of the value is passed to a function and not returned by it - does not change the actual values |
| constance reference parameter | is passed by reference but all assignments to it within the body of the function where it is declared are disallowed |
| cohesive subprogram | performing a single task |
| precondition | a comment that states precisely what is true before a certain action is taken |
| postcondition | a comment that states precisely what is true after a certain action is taken |
| interface | a formal statement of how communication between independent subprograms and the main function occurs |
| arguments | inputs or data received by the function |
| value or result | the output of information returned |
| scope of the identifier | area of the program text in which the identifier can be used |
| global identifier | declared before the main block |
| local identifier | restricted to be used within its declared block |
| side effect | a change in a nonlocal variable that is the result of some action taken in a program |
| manifest interface | when a function declaration shows what data the function is manipulating |
| library header file | declare functions and end with a .h extension |
| library implementation file | implement functions and has a .cpp extension |
| modularity | a program created using modules to perform various tasks |
| information hiding | not allowing the implementation details of a subprogram to be seen in the main program |
| block | an area of a program text |
| functional abstraction | the process of considering only what a function is to do rather than the details of the function |
| module | code written to provide one well-defined task |
| structured design | a method of designing software by specifying modules and the flow of data among them |
| structured programming | the process of developing a program where emphasis is placed on the flow of control between independent modules |
| procedural abstraction | functional abstraction in programs having procedures rather than functions |