programming techniques Flashcards
Name 3 programming constructs
Sequence,breaching, 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 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 three pieces of information that are stored in the call stack
- Parameters
- Return addresses
- Local variables
Define scope
The section of the program in which a variable
is accessible.
Give two advantages of using local variables over
global variables
-Less memory is used
- Self-contained so unaffected by code outside
of 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 be represented as an
individual, self-contained module which performs a
certain task.
State 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
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.