Programming techniques Flashcards
Name the 3 programming constructs
- Sequence
- Branching
- Iteration
Which 2 categories of loop is iteration split up into?
- Count-controlled
- Condition-controlled
Describe how the branching program 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 2 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 2 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
What is meant by a local variable?
- Limited scope
- Set or declared inside a function or other subprogram
- Can only be accessed from within that subprogram
What is meant by a global variable?
- Can be accessed throughout a program
- Declared or set outside any functions or subprograms
Give 2 advantages of using local variables over global variables
- Less memory is used
- Self-contained so unaffected by code outside of the subroutine
- Take preconditions 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-programs, until each can be represented as an individual, self-contained module which performs a certain task
Give another name for top-down design
Stepwide refinement
State 2 advantages of a 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