Counted For Loops in Alice Stephen Cooper Wanda

  • Slides: 15
Download presentation
Counted (For) Loops in Alice Stephen Cooper Wanda Dann Randy Pausch Barb Ericson Oct

Counted (For) Loops in Alice Stephen Cooper Wanda Dann Randy Pausch Barb Ericson Oct 2009 For. Loops. In. Alice 1

Learning Goals • Introduce the concept of a counted loop – A loop that

Learning Goals • Introduce the concept of a counted loop – A loop that keeps a counter or index – Show 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 For. Loops. In. Alice 2

Repetition • In many kinds of animations, especially simulations and games, some actions happen

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 For. Loops. In. Alice 3

Example • A bunny sneaks into a garden and wants to eat the broccoli.

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. For. Loops. In. Alice 4

bunny. hop For. Loops. In. Alice 5

bunny. hop For. Loops. In. Alice 5

One solution • Creating the same instruction again and again is somewhat tedious and

One solution • Creating the same instruction again and again is somewhat tedious and the code gets longer and longer. For. Loops. In. Alice 6

Counted Loop • A counted loop is an alternate to repeated code – Repeats

Counted Loop • A counted loop is an alternate to repeated code – Repeats instructions a counted number of times For. Loops. In. Alice 7

Demo 07 Bunny. Hop • Concepts illustrated in this example – The loop instruction

Demo 07 Bunny. Hop • 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 For. Loops. In. Alice 8

Demo 07 Carousel • Concept illustrated in this example – If “Infinity times” is

Demo 07 Carousel • 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 For. Loops. In. Alice 9

More complicated loops • It is also possible to place a loop statement within

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

An example of nested loops The whole Ferris wheel will rotate clockwise, while the

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. For. Loops. In. Alice 11

Demo 07 Ferris. Wheel • Concept illustrated in this example – The inner loop

Demo 07 Ferris. Wheel • 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. For. Loops. In. Alice 12

Using a function • A loop count can be computed by calling a function

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: 07 Loop. With. Function. Call For. Loops. In. Alice 13

Challenges • Copy 07 Bunny. Hop to 07 Bunny. Out – So that as

Challenges • Copy 07 Bunny. Hop to 07 Bunny. Out – 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 07 Bunny. Hop to 07 Bunny. Square – And have the bunny hop in a square using a nested loop • Loop 4 times – Loop 3 times » Bunny hop – Bunny turn ¼ revolution For. Loops. In. Alice 14

Summary • A for loop is similar to a while loop – But is

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 For. Loops. In. Alice 15