2.1.1 Flashcards
(24 cards)
Define the term abstraction
Abstraction is the process of separating ideas from particular instances. It is a means of hiding detail. It is a representation of reality using symbols to show real life features.
Why is abstraction needed
Reduces processing requirements
Simplifies programming
Reduces memory requirements
Reusable components
Components that have already been written debugged and tested. They can be transplanted into new systems to save development time
Name the three programming constructs
Sequence, branching and iteration
Which two categories of loop is iteration split up into
- Count-controlled
- Condition-controlled
Describe how the branching programming construct works
A certain block of code is run if a specific condition is met, using IF statements
What is recursion
A programming construct in which a subroutine calls itself during its execution until the stopping condition is met
What is the base case in recursion
A condition that must be met in order for the recursion to end
State two advantages of recursion
Can be represented in fewer lines of code
Easier to express some functions recursively than using iteration
State a disadvantage of recursion
Inefficient use of memory
Danger of stack overflow
Difficult to trace
Give two pieces of information that are stored on the call stack
Parameters
Return addresses
Local variables
Define scope
The section of the program in which a variable is accessible
Give advantages of using local variables over global variables
Less memory is used
Self-contained so unaffected by code outside the subroutine
Take precedence over global variables with the same name
What is top-down design
A technique used to modularise programs in which the problem is continually broken down into sub-problems, until each can represented as an individual, self-contained module which performs a certain task
State two advantages of modular design
Makes a problem easier to understand and approach
Simpler to divide tasks between a team
Easier to manage project
Self-contained modules simplify testing and maintenance
Greater reusability
Give another name for top-down design
Stepwise refinement
What is the difference between procedures and functions
Functions must always return a single value while a procedure does not always have to return a value
What does it mean to pass a parameter to a subroutine by reference
The address in memory of the parameter is passed to the subroutine so its value outside of the subroutine will be updated
Features of IDEs
Stepping (whats stepping)
Variable watch
Breakpoints
Source code editor
Debugging tools
What is encapsulation in OOP
When attributes are declared as private so can only be accessed and edited by public methods
Describe the purpose of encapsulation
Program complexity is reduced by protecting data from being accidentally edited by other parts of the program
Define the term parameter
(A description of) an item of data That is used as a variable within the subroutine
What does it mean to pass a parameter to a subroutine by value
A local copy is stored, used and then discarded. The value of the original data is unchanged
Global variables (features)
Global variables are defined at the start of the program
Exists throughout the program
Allows data to be shared by modules