Presentation is loading. Please wait.

Presentation is loading. Please wait.

Faculty of Sciences and Social Sciences HOPE Structured Problem Solving Week 5: Steps in Problem Solving Stewart Blakeway FML 213

Similar presentations


Presentation on theme: "Faculty of Sciences and Social Sciences HOPE Structured Problem Solving Week 5: Steps in Problem Solving Stewart Blakeway FML 213"— Presentation transcript:

1

2 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Structured Problem Solving Week 5: Steps in Problem Solving Stewart Blakeway FML 213 blakews@hope.ac.uk

3 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE What we have done already Seen what an algorithm is – a set of instructions that, if carried out, will lead to a successful conclusion Learned how to represent algorithms in – Structured English – Flow charts Used variables to remember 2

4 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE What we shall do today Start writing out own algorithms Pages 36 to 50 3

5 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Steps in Problem Solving Step 1 Establish the overall plan of action write down the solution as a single statement Step 2 Examine the statement to see if it could be expressed as one of the following: Sequence Selection Repetition 4

6 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Steps in Problem Solving Step 3 Make it so. write it out as one of those Step 4 Repeat steps 2 and 3 for the new statements this generates Step 5 Stop when you are satisfied with the level of detail 5

7 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Summary Step 1 Establish the overall plan of action write down the solution as a single statement Step 2 Examine the statement to see if it could be expressed as one of the following: Sequence Selection Repetition Step 3 Make it so. write it out as one of those Step 4 Repeat steps 2 and 3 for the new statements this generates Step 5 Stop when you are satisfied with the level of detail 6

8 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Technical Phrases for this Technique Top Down Design Stepwise Refinement 7

9 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Making sure we understand what the problem is we are trying to solve This conforms to obeying the first Law of Computing – Making sure we get paid – If we build what client wants then it is more likely we shall get paid 8

10 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Making sure we understand what the problem is we are trying to solve Some Thoughts on Building a Dwelling 9

11 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Some Thoughts on Building a Dwelling Initial ideas Type of House Size of House Location Now analyse each of the above 10

12 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Type of House Bungalow Two Floors Three Floors Detached Terraced Semi-detached 11

13 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Size of House How many bedrooms ? How many living rooms ? How many bathrooms ? 12

14 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Location How many miles from shops ? Green belt ? North – South facing ? 13

15 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Repeat this analysis until The level of detail is complete and unambiguous Front door exterior: Oxford blue gloss Main bathroom taps: gold plated And so-forth 14

16 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE An Example of Using Stepwise Refinement Eggs are stored on trays in a warehouse. The egg checker puts a tray on his work table. He then picks up each egg in turn. If it is cracked, he puts it into the blue box, otherwise he returns it to the tray. As he works through the eggs, he keeps count of the number cracked. When he has finished the tray, he reports how many eggs were cracked. 15

17 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Summary Step 1 Establish the overall plan of action write down the solution as a single statement Step 2 Examine the statement to see if it could be expressed as one of the following: Sequence Selection Repetition Step 3 Make it so. write it out as one of those Step 4 Repeat steps 2 and 3 for the new statements this generates Step 5 Stop when you are satisfied with the level of detail 16

18 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Step 1: Write down the solution as a single statement Deal with eggs 17

19 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Step 2: Examine the statement to see if it could be expressed as sequence, selection or iteration Deal with eggs Sequence ? Selection ? Repetition ? 18 Is it a sequence of substeps? Is it a choice between alternatives? Is it a repeated action?

20 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Step 2: Examine the statement to see if it could be expressed as sequence, selection or iteration Deal with eggs Sequence 19

21 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Step 3: Make it so – a sequence 20 1.Put tray on table 2.Process eggs 3.Report number cracked First Refinement

22 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Step 4: Repeat steps 2 and 3 for the new statements this generates 21

23 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 1 Put Tray on Table 22 No further refinement necessary

24 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 2 Process the Eggs 23 Treat this as a problem in its own right. Is there a repetition ?

25 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 2 Process the Eggs 24 Treat this as a problem in its own right. Is there a repetition ? YES ! When does it stop ?

26 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 2 Process the Eggs 25 Treat this as a problem in its own right. Is there a repetition ? YES ! When does it stop ?When he has processed all the eggs ! What does that mean ?

27 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 2 Process the Eggs 26 Treat this as a problem in its own right. Is there a repetition ? YES ! When does it stop ?When he has processed all the eggs ! What does that mean ?When there are no more eggs to process

28 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE When There Are No More Eggs to Process 27 How can we rewrite this using the problem solving construct: while something is true begin do something end

29 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE while something is true 28 When do you stop ? When all the eggs have been examined ! What is the opposite of this ? Eggs remain to be examined ! This is the while test !

30 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE The repetition so far … 29 while eggs remain to be examined begin do something end

31 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE begin do something end 30 do something Keep it Simple deal with egg Not eggs

32 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 3 Report Number Cracked 31 No further refinement yet.

33 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Second Refinement Solution So Far 32 put tray on table while eggs remain to be examined begin deal with egg end report number cracked

34 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE deal with egg 33 Revisit the problem: How do we deal with egg ? Is it a sequence ?Yes ! Is it a repetition ?No ! Is it a selection ?Not Yet !

35 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE deal with egg 34 Sequence: pick up egg deal with cracked egg

36 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE pick up egg 35 End of story: level of detail fine: no further refinement needed.

37 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE deal with cracked egg 36 Revisit the problem: He then picks up each egg in turn. If it is cracked, he puts it into the blue box, otherwise he returns it to the tray. As he works through the eggs, he keeps count of the number cracked. Here is the selection mentioned earlier (the not yet ). Can we express this in the format: if condition then actions else other actions ?

38 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE if condition then…..else 37 if egg is cracked then begin put it in blue box add 1 to total of cracked eggs end else begin return egg to tray end

39 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Solution So Far 38 put tray on table while eggs remain to be examined begin pick up egg if egg is cracked then begin put it in blue box add 1 to total of cracked eggs end else begin return egg to tray end report number cracked

40 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Third Refinement 39 Let us use a variable to store the number of cracked eggs. Convention: Use a name which reflects the purpose of the variable Start with a capital letter No spaces If words are joined together make the first letter of each word a capital letter So in this case: NumberCracked

41 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE NumberCracked 40 Just as we would reset the odometer in our car to avoid doing mind boggling subtractions to find the length of a journey, we must set the initial value of NumberCracked to an appropriate value. Otherwise the final count could be anything. This is called initialisation and in this instance we would initialise the variable to ???????????? What ? How ?

42 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Initialising the Variable 41 NumberCracked := 0

43 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE add 1 to total of cracked eggs 42 How ?

44 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 43 NumberCracked := NumberCracked +1

45 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE The Solution Final refinement 44

46 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 45 NumberCracked := 0 put tray on table while eggs remain to be examined begin pick up egg if egg is cracked then begin put it in blue box NumberCracked := NumberCracked + 1 end else begin return egg to tray end report NumberCracked

47 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE A Second Example of Using Stepwise Refinment 46 A parcel sorting office initially sorts the parcels by weight into three broad categories: light, medium and heavy. The parcels enter the weighing room on a circular conveyor belt, where they are taken off, weighed, weight stamped and placed in blue, red or green containers depending on whether they are light, medium or heavy respectively. When the conveyor belt stops, the containers are sent to the despatch office.

48 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Step 1 47 Deal with parcels

49 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Step 2 48 Deal with parcels Sequence ? Selection ? Repetition ?

50 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Step 2 49 Deal with parcels Sequence

51 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Step 3: Sequence - Make it so 50 1.Deal with parcels on conveyor belt 2.Send containers to the despatch office First Refinement

52 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 1. Deal with parcels on conveyor belt 51 Revisit the problem: Is there repetition ?Yes ! When does it stop ?

53 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 1. Deal with parcels on conveyor belt 52 Revisit the problem: Is there repetition ?Yes ! When does it stop ?When the conveyor belt stops. What is the while test ?

54 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 1. Deal with parcels on conveyor belt 53 Revisit the problem: Is there repetition ?Yes ! When does it stop ?When the conveyor belt stops. What is the while test ?The opposite of this Conveyor belt running

55 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 2. Send containers to despatch office 54 No further refinement needed.

56 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Second Refinement 55 while conveyor belt running begin deal with parcel end send containers to the despatch office

57 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE deal with parcel 56 Sequence ?Yes ! Selection ?Not Yet ! Repetition ?No !

58 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE deal with parcel 57 Revisit the problem: Sequence: take parcel off conveyor belt weigh parcel stamp parcel with weight put in correct box

59 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Third refinement 58 while conveyor belt running begin take parcel off conveyor belt weigh parcel stamp parcel with weight put in correct box end send containers to despatch office

60 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Let’s go Further 59 take parcel off conveyor belt:no more detail needed weigh parcel :no more detail needed stamp parcel with weight:no more detail needed put in correct box:selection here ! Which box ?

61 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE Which Box ? 60 Revisit the Problem: if light parcelblue box if medium parcelred box if heavy parcelgreen box

62 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE The Final Algorithm 61

63 www.hope.ac.uk Faculty of Sciences and Social Sciences HOPE 62 while conveyor belt running begin take parcel off conveyor belt weigh parcel stamp parcel with weight if parcel is light then begin put in blue box end if parcel is medium then begin put in red box end if parcel is heavy then begin put in green box end send containers to despatch office


Download ppt "Faculty of Sciences and Social Sciences HOPE Structured Problem Solving Week 5: Steps in Problem Solving Stewart Blakeway FML 213"

Similar presentations


Ads by Google