Download presentation
Presentation is loading. Please wait.
1
CMPUT 101 Lab #3 September 24, 2007 14:00 – 17:00
2
Guido: Adding numbers Today work: A program that lets GvR add two 3-digit numbers using 10 based representation. Follow the step in the lab exercise 3
3
Step 1 Load worlds: lab_3_one_a.wld -- single digit without carry lab_3_one_b.wld – single digit with carry
4
Step 2 & 3 Load provided program: lab_3a.gvr Make sure the program works Copy/paste may cause spacing problem By executing it, the robot will be just turned off Add your code in the space provided
5
Step 4 Program a robot to add two single digit numbers. Consider to use move_south, move_north, move_east, move_west, and add_digit_to_bag provided in the initial program Define a new sub routine as: add_two_digits (Suggestion) Don’t worry about the carry yet – GvR just keeps all beepers in his bag. Test on the worlds in Step 1. Demo -- lab_3a_4.gvr
6
Step 5 Think about the carry Adding two numbers always give either 0 or 1 carry --- why ? Consider in the largest possible 999 + 999 = 1998 the largest sum: 9 + 9 + 1 = 19 -- also 1 carry out
7
Step 6 After adding two digits, GvR will have some number in the range 0…19 of beepers Check for carry try 9 times to drop a beeper If there is still a beeper in a bag, then there is a carry out. Otherwise, there is no carry out.
8
Step 7 no_carry_out The sum result should be the right place No need to do extra steps So, just move the robot to the next column (1E, 3N, 1E) carry_out Pick up all beepers. Move south to drop 9 beepers in the garbage space. Move 2 west and 1 north to drop 1 beeper (carry). Move 2 east back to drop the all beepers in the bag. Demo lab_3a_7.gvr
9
Step 8 Repeat 2 more times to add 3 digits Be sure to pick up the carry if there is one before computing the next sums. Demo lab_3a_complete.gvr
10
Demo Demo your final program on: lab_3a.wld: 372 + 863 = 1235 lab_3a.wld lab_3b.wld: 30 + 13 = 43 lab_3b.wld lab_3c.wld: 823 + 192 = 1015 lab_3c.wld
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.