Download presentation
Presentation is loading. Please wait.
Published byClemence O’Connor’ Modified over 8 years ago
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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.