1 / 10

# CMPUT 101 Lab #3 - PowerPoint PPT Presentation

CMPUT 101 Lab #3. September 24, 2007 14:00 – 17:00. 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. Step 1. Load worlds: lab_3_one_a.wld -- single digit without carry

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' CMPUT 101 Lab #3' - beatrice-west

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### CMPUT 101Lab #3

September 24, 2007

14:00 – 17:00

• Today work:

• A program that lets GvR add two 3-digit numbers using 10 based representation.

• Follow the step in the lab exercise 3

• lab_3_one_a.wld -- single digit without carry

• lab_3_one_b.wld – single digit with carry

• lab_3a.gvr

• Make sure the program works

• Copy/paste may cause spacing problem

• By executing it, the robot will be just turned off

• 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

• 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

• 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.

• 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

• 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

• Demo your final program on:

• lab_3a.wld: 372 + 863 = 1235

• lab_3b.wld: 30 + 13 = 43

• lab_3c.wld: 823 + 192 = 1015