Chapter 9 - Algorithm Design & Problem Solving Flashcards

(3 cards)

1
Q

what is stepwise refinement?

A
  • process of breaking down a complex problem into smaller, more manageable sub-problems in a logical order
  • each sub problem is refined step by step until it is simple enough to be solved with just one subroutine or module
  • ensures that the problem can be solved by addressing each part individually, in a structured and efficient way
  • it is the process used in top-down design, the strategy used to perform decomposition, which is the general idea of just breaking down large problems into smaller, more manageable problems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

what are the benefits of stepwise refinement?

A
  • helps developers understand and organise the structure of a program
  • makes testing and debugging easier through unit testing of individual subroutines
  • encourages code reuse by breaking tasks into reusable components
  • supports collaborative development as tasks can be divided between team members
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

how should subroutines made from stepwise refinement be like?

A
  • clear and focused on single task
  • simple enough to implement directly
  • have no need for further breakdown
How well did you know this?
1
Not at all
2
3
4
5
Perfectly