130 likes | 217 Views
CMPUT 101 Lab # 2. September 17, 2007 14:00 – 16:50. Recap Lab # 1: Guido. World (.wld) Robot [ave] [street] [direction] [# of beeper] Robot 3 2 E 1 Wall [ave] [street] [direction] [length] Wall 3 4 S 2 Beepers [ave] [street] [# of beeper] Beepers 1 4 6. Recap Lab # 1: Guido.
E N D
CMPUT 101 Lab # 2 September 17, 2007 14:00 – 16:50
Recap Lab # 1: Guido • World (.wld) • Robot [ave] [street] [direction] [# of beeper] • Robot 3 2 E 1 • Wall [ave] [street] [direction] [length] • Wall 3 4 S 2 • Beepers [ave] [street] [# of beeper] • Beepers 1 4 6
Recap Lab # 1: Guido • Program (.gvr) • move, turnleft, pickbeeper, putbeeper, turnoff • All “define” instructions have to be at the beginning of the file.
Conditionals • conditional branching if <test>: <block> if front_is_clear: move • <block> indicates a set of instructions within the same indent. • All conditions you can use are listed in Step08 guide
Iteration • while loop while <test>: <block> while front_is_clear: move • While do until the test condition is false.
Iteration • Do do <number>: <block> do 5: move move move move move move
Part a • Step09: • use do, and if instructions • Guido will shut down if asked to pick up a beeper and there is not one there, which conditional to use? • check if wall reached. Which conditional will be used to check if wall reached? • Read Step08 first
Step08 robot 1 2 E Beepers 3 2 1 Beepers 4 2 1 Beepers 6 2 1 Beepers 8 2 1 Beepers 9 2 1 Beepers 10 2 1 Beepers 12 2 1 Wall 12 2 E
Part b • use while instead of do, • street can be any length, • wall at the end
Part c • check for multiple beepers, • do we know how many? which conditional? while more beepers, keep picking up
Part d • traverse each row, pick up beepers, until North East corner reached. • Drop beepers, how would you check if any are in the bag? • See figures for example
Part e • Consider the map --- see figure • Use the program in part d but run in the new world • No need to write a new program • Answer the questions verbally
Keep in mind • use block structures (routines) to simplify the code e.g. turnNorth, turnEast, sweepOneRow, etc. • students can work in teams of two, or three (if there is an odd number of students), or can also work individually • test with both sample worlds provided