Iteration%20(Loops) - PowerPoint PPT Presentation

About This Presentation
Title:

Iteration%20(Loops)

Description:

take 5 minutes and draw a situation on paper that would necessitate that you use ... Step 4 Do whatever is required before and/or after the loop to ensure that we ... – PowerPoint PPT presentation

Number of Views:106
Avg rating:3.0/5.0
Slides: 17
Provided by: apcompute
Category:
Tags: by | draw | how | iteration | loops | step | to

less

Transcript and Presenter's Notes

Title: Iteration%20(Loops)


1
Iteration (Loops)
  • Loops repeat a set of instructions
  • Two types of loops
  • Definite loops ( for ) perform instructions
    explicit number of times
  • Indefinite loops ( while ) perform instructions
    an indefinite number of times (until a certain
    test fails)

2
Questions for You
  • a new class youre writing has a method with the
    following signature
  • move (int numMoves)
  • should it be implemented with a definite loop or
    an indefinite loop? justify your answer
  • could it be implemented with the other type of
    loop? if so, should we/could we/good idea/bad
    idea???

3
Questions for You
  • take 5 minutes and draw a situation on paper that
    would necessitate that you use a while loop to
    solve the problem

4
for Loops
  • General formfor ( ltinitialize
    variablegt lttestgt ltincrementgt
    ) ltinstruction setgt

5
for Loops (cont.)
  • ltinitialize variablegt sets a variable/identifier
    to a certain value (variable is usually count, i,
    j)
  • lttestgt is a test that is evaluated each time the
    body is about to be executed (when false, loop is
    exited)
  • ltincrementgt changes the loop control variable
    (usually x or x--)

6
for Loops (cont.)
  • Examplefor (int x1 xlt5 x) karel.move()
  • This causes karel to move 5 times

7
for Loops (cont.)
  • Flow of for loops
  • Initialization statement executes
  • If test is true, proceed to step 3 if test is
    false, go to step 6
  • Instructions in body of loop are executed
  • Increment statement executes
  • Return to step 2
  • Program proceeds to statements after loop

8
while Loops
  • General formwhile ( lttestgt ) ltinstruction
    listgt
  • Loop continues until test is false

9
Questions for You
  • back on slide 3 you drew up a situation that
    would best be solved using a while loop - now
    write the code to solve your problem

10
while Loops (cont.)
  • Examplewhile (karel.frontIsClear
    ()) karel.move ()
  • Causes karel to move continuously until there is
    a wall in front of it

11
while Loops (cont.)
  • Flow of while loops
  • If test is true, proceed to step 2 if test is
    false, go to step 4
  • Instructions in body of loop are executed
  • Go to step 1
  • Statements after loop are executed

12
Building a While Loop Formalizing (making
easier) the ad-hoc way youve been writing while
loops to this point. This will be extremely
helpful to you at various times in the course and
on the AP exam.
  • Step 1 Identify what is true when the loop is
    finished (this is always easier than determining
    what is false while it is still executing)
  • Step 2 Use the opposite form of step 1s result
    as the lttestgt for the loop. You just need to
    negate the entire thing. (note Now and again you
    might find that DeMorgan-izing your result is
    helpful when answering AP-like questions.)

13
Building a While Loop (contd)
  • Step 3 make progress toward the goal
    (completion of the loop) within the loop
  • Step 4 Do whatever is required before and/or
    after the loop to ensure that we solve the given
    problem
  • Example Pick all beepers from a corner without
    knowing how many there are.

14
Lets build a while loop
  • Move a robot until it is not on a corner with any
    other robots and there is a wall on the left,
    then pick up the beeper that will be waiting
    there (the hard part is getting the condition
    correct without using a trial-and-error method
    you dont get to run any programs during our
    tests nor on the AP exam also, youll code your
    labs faster if you have a way to ensure correct
    conditions EVERY time without the crutch of
    running your code)
  • You may use and for this exercise. Use the
    4-step process now
  • while (???)
  • ???

15
Your try the while condition
  • You may use and for this
  • Write a loop that moves a robot forward until it
    is either next to a robot, next to a beeper, or
    there is no wall on its right
  • while ( ??? )
  • ???

16
Infinite Loops
  • In a for or while loop, it is possible for the
    test to never be false
  • When this happens, the loop continues infinitely
  • Depending on the compiler, application, and other
    circumstances, an error may occur or the app may
    crash
Write a Comment
User Comments (0)
About PowerShow.com