130 likes | 224 Views
Recap Lab #2 covers program instructions, conditionals, iterations, and practical exercises using Guido the Robot in a virtual world. Topics include defining instructions, conditionals, while loops, traversing rows, and managing multiple beepers. Students will work on provided sample worlds to test their programming skills individually or in teams.
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