130 likes | 247 Vues
In this lab recap, we review the foundational concepts learned in Lab #1 involving the Guido robot and its programming language. Students explored various commands, such as `move`, `turnleft`, `pickbeeper`, and `putbeeper`, and understood the importance of placing all "define" instructions at the beginning of their code. Key concepts of conditional branching and iteration were emphasized, including `if` statements and `while` loops. We also dived into practical applications with a focus on navigating walls, managing beepers, and efficient coding practices to demonstrate teamwork and problem-solving skills in real-time scenarios.
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