1 / 15

Counted (For) Loops in Alice

Counted (For) Loops in Alice. Stephen Cooper Wanda Dann Randy Pausch Barb Ericson Oct 2009. Learning Goals. Introduce the concept of a counted loop A loop that keeps a counter or index Show how a loop leads to easier to read and shorter code Show an infinite for loop Show a nested loop

booker
Télécharger la présentation

Counted (For) Loops in Alice

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. Counted (For) Loops in Alice Stephen Cooper Wanda Dann Randy Pausch Barb Ericson Oct 2009 ForLoopsInAlice

  2. Learning Goals • Introduce the concept of a counted loop • A loop that keeps a counter or index • Show how a loop leads to easier to read and shorter code • Show an infinite for loop • Show a nested loop • Show a function call inside a loop ForLoopsInAlice

  3. Repetition • In many kinds of animations, especially simulations and games, some actions happen again and again. • Example: Gallery games where targets appear randomly on screen and then disappear only to appear elsewhere in the scene. • Of course, actions are made to happen again and again by running an animation instruction (or a method) more than once ForLoopsInAlice

  4. Example • A bunny sneaks into a garden and wants to eat the broccoli. The bunny will need to hop several times to get to the broccoli. ForLoopsInAlice

  5. bunny.hop ForLoopsInAlice

  6. One solution • Creating the same instruction again and again is somewhat tedious and the code gets longer and longer. ForLoopsInAlice

  7. Counted Loop • A counted loop is an alternate to repeated code • Repeats instructions a counted number of times ForLoopsInAlice

  8. Demo 07BunnyHop • Concepts illustrated in this example • The loop instruction executes a definite number of times, specified by a count or index • Using a loop instruction • saves time • is convenient • Easy to modify ForLoopsInAlice

  9. Demo 07Carousel • Concept illustrated in this example • If “Infinity times” is selected for a loop, this means the loop will run until the program is shut down • This is an infinite loop ForLoopsInAlice

  10. More complicated loops • It is also possible to place a loop statement within another loop statement • This is called a nested loop ForLoopsInAlice

  11. An example of nested loops The whole Ferris wheel will rotate clockwise, while the two inner wheels will rotate counterclockwise. The inner wheels should perform 2 revolutions for each outer loop revolution. ForLoopsInAlice

  12. Demo 07FerrisWheel • Concept illustrated in this example • The inner loop runs completely each time the outer loop runs once. • An outer loop that executes 2 times and an inner loop that executes 5 times will actually execute the inner loop 10 times. ForLoopsInAlice

  13. Using a function • A loop count can be computed by calling a function that returns a number value. • The loop instruction automatically rounds the returned value to the nearest whole number. • Demo: 07LoopWithFunctionCall ForLoopsInAlice

  14. Challenges • Copy 07BunnyHop to 07BunnyOut • So that as the bunny nears the broccoli Papa rabbit (use Hare from the Animals folder) appears at the garden gateway and taps his foot • Have the bunny turn and hop out of the garden • Using a loop • Copy 07BunnyHop to 07BunnySquare • And have the bunny hop in a square using a nested loop • Loop 4 times • Loop 3 times • Bunny hop • Bunny turn ¼ revolution ForLoopsInAlice

  15. Summary • A for loop is similar to a while loop • But is useful when you need a counter or index in the loop • An infinite loop never stops • Loops can be nested inside of other loops • You can call a function inside the test for a loop ForLoopsInAlice

More Related