2.1.3 Thinking Procedurally Flashcards
What is meant by thinking procedurally?
Identifying the individual parts of a bigger problem
What is a top down modular design (structure diagram)?
Breaking down a problem into smaller subproblems until each subproblem can be represented as a single task (ideally a self-contained subroutine)
What is decomposition?
Breaking down a complex problem into smaller more manageable parts
MDP
What are the advantages of decomposition?
- Makes problems easier to solve
- Different people can work on different parts of the problem at the same time (reducing development time)
- Program components developed in one program can easily be used in other programs
What is the first stage of thinking procedurally?
Taking the problem defined by the user and breaking it down into constituent parts
What is the second stage of thinking procedurally?
Identifying components of a solution
How can the lowest level of subproblems in a structure diagram be coded as?
Self contained modules or sub routines
What do software developers need to consider when recombining components of a solution?
The order in which the subroutines are executed and how they interact with each other based on their role in solving the problem
RT
State two advantages of utilising reusable components
- More reliable than newly coded components as they have already been tested
- Saves time, money and resources
TRM
What are the advantages of procedural programming?
- Easier to test and debug code
- Subroutines can be called many times, reducing the amount of repeated code
- Subroutines can manipulate shared data