Presentation is loading. Please wait.

Presentation is loading. Please wait.

Comparison the RANGE block Day 8 Computer Programming through Robotics CPST 410 Summer 2009.

Similar presentations


Presentation on theme: "Comparison the RANGE block Day 8 Computer Programming through Robotics CPST 410 Summer 2009."— Presentation transcript:

1 Comparison the RANGE block Day 8 Computer Programming through Robotics CPST 410 Summer 2009

2 7/1/09Harry Howard, CPST 410, Tulane University2 Course organization  Course home page Course home page  (http://robolab.tulane.edu/CPST410/)  Lab (Newcomb 442) will be open for practice with 3-4 Macs, but you can bring your own laptop and all robots.

3 Comparison in NXC

4 7/1/09Harry Howard, CPST 410, Tulane University4 Comparison and strings  Comparison operators: >, <, ==  String operators  string [declares a variable of type string]  NumtoStr [converts a number to a string]  StrCat [concatenates strings]  TextOut [displays strings]

5 7/1/09Harry Howard, CPST 410, Tulane University5 The challenge, again  Tribot, 1. create two random numbers between 0 and 9 (call them A and B), 2. display them on the screen, 3. and tell me if A is greater than B.

6 7/1/09Harry Howard, CPST 410, Tulane University6 Parts 1 and 2 int A, B; string a, b, combined; task main() { A = random(10); B = random(10); a = NumtoStr(A); b = NumtoStr(B); combined = StrCat(a, “ < “, b); TextOut(0, 0, combined); Wait(1000); }

7 7/1/09Harry Howard, CPST 410, Tulane University7 Part 3, literal option int A, B; string a, b, combined; task main() { A = random(10); B = random(10); a = NumtoStr(A); b = NumtoStr(B); if (A > B) combined = StrCat(a, “ > “, b); else if (B > A) combined = StrCat(a, “ < “, b); TextOut(0, 0, combined); Wait(1000); }

8 7/1/09Harry Howard, CPST 410, Tulane University8 Part 3, more complete option int A, B; string a, b, combined; task main() { A = random(10); B = random(10); a = NumtoStr(A); b = NumtoStr(B); if (A > B) combined = StrCat(a, “ > “, b); else if (B > A) combined = StrCat(a, “ < “, b); else combined = StrCat(a, “ = “, b); TextOut(0, 0, combined); Wait(1000); }

9 7/1/09Harry Howard, CPST 410, Tulane University9 Question  Could you use an NXC switch?  No, an an NXC switch only takes numbers (integers) as inputs.

10 Inside or out? Kelly §16

11 7/1/09Harry Howard, CPST 410, Tulane University11 The challenge  Tribot, 1. Create a random number between 0 and 100, and show it on the screen. 2. Tell me if it is between 40 and 60.

12 7/1/09Harry Howard, CPST 410, Tulane University12 DisplayRange1.rbt displays random number on line 7 displays "between 40 and 60" on line 5 - don't clear the screen!

13 7/1/09Harry Howard, CPST 410, Tulane University13 The RANGE block  Robots respond to statements with True or False  A is inside the range of numbers beginning with B and ending with C.  A is outside the range of numbers beginning with B and ending with C.

14 7/1/09Harry Howard, CPST 410, Tulane University14 Part 2  Drag a RANGE block out of the Data row and drop it at the end of the beam.  Operation = Inside  A = 40  B = 60  Where does its input come from?  From RANDOM.

15 7/1/09Harry Howard, CPST 410, Tulane University15 Part 2, cont.  We again want to display both the True and False responses  Drop a SWITCH block at the end of the beam and set it up.  Control = Value  Type = Logic  Uncheck Flat view (to save screen space)  Drop a DISPLAY block into each choice  = "True"  x = "False"  Drop a NXT button WAIT block at the end to keep the results on the screen

16 7/1/09Harry Howard, CPST 410, Tulane University16 DisplayRange2.rbt

17 7/1/09Harry Howard, CPST 410, Tulane University17 Range in NXC  There is no such operation as RANGE in NXC,  so you have to break it down into its components,  using the logical operators:  && [logical AND]  || [logical OR]  ! [logical negation]

18 7/1/09Harry Howard, CPST 410, Tulane University18 The challenge, again  Tribot, 1. Create a random number between 0 and 100, and show it on the screen. 2. Tell me if it is between 40 and 60.

19 7/1/09Harry Howard, CPST 410, Tulane University19 NXC version int A; string a, combined; task main() { A = random(10); a = NumtoStr(A); if (A > 40) && (A < 60) combined = StrCat(a, “ is between 40 and 60”); else combined = StrCat(a, “ is not between 40 and 60”); TextOut(0, 0, combined); Wait(1000); }

20 7/1/09Harry Howard, CPST 410, Tulane University20 Next time  The LOGIC block.  Math, power, files: Kelly 20-22.  Bluetooth messaging: Kelly 25.  Tasks, routines, subroutines: Kelly 26.


Download ppt "Comparison the RANGE block Day 8 Computer Programming through Robotics CPST 410 Summer 2009."

Similar presentations


Ads by Google