1 / 20

Comparison the RANGE block Day 8

Comparison the RANGE block Day 8. Computer Programming through Robotics CPST 410 Summer 2009. Course organization. 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.

malo
Télécharger la présentation

Comparison the RANGE block Day 8

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Comparisonthe RANGE blockDay 8 Computer Programming through Robotics CPST 410 Summer 2009

  2. Course organization • 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. Harry Howard, CPST 410, Tulane University

  3. Comparison in NXC

  4. 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] Harry Howard, CPST 410, Tulane University

  5. The challenge, again • Tribot, • create two random numbers between 0 and 9 (call them A and B), • display them on the screen, • and tell me if A is greater than B. Harry Howard, CPST 410, Tulane University

  6. 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); } Harry Howard, CPST 410, Tulane University

  7. 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); } Harry Howard, CPST 410, Tulane University

  8. 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); } Harry Howard, CPST 410, Tulane University

  9. Question • Could you use an NXC switch? • No, an an NXC switch only takes numbers (integers) as inputs. Harry Howard, CPST 410, Tulane University

  10. Inside or out? Kelly §16

  11. The challenge • Tribot, • Create a random number between 0 and 100, and show it on the screen. • Tell me if it is between 40 and 60. Harry Howard, CPST 410, Tulane University

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

  13. 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. Harry Howard, CPST 410, Tulane University

  14. 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. Harry Howard, CPST 410, Tulane University

  15. 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 Harry Howard, CPST 410, Tulane University

  16. DisplayRange2.rbt Harry Howard, CPST 410, Tulane University

  17. 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] Harry Howard, CPST 410, Tulane University

  18. The challenge, again • Tribot, • Create a random number between 0 and 100, and show it on the screen. • Tell me if it is between 40 and 60. Harry Howard, CPST 410, Tulane University

  19. 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); } Harry Howard, CPST 410, Tulane University

  20. Next time • The LOGIC block. • Math, power, files: Kelly 20-22. • Bluetooth messaging: Kelly 25. • Tasks, routines, subroutines: Kelly 26. Harry Howard, CPST 410, Tulane University

More Related