1 / 16

Iteration (Loops)

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). Questions for You.

ereid
Download Presentation

Iteration (Loops)

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. 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) Ch. 6

  2. Questions for You • a new class you’re 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??? Ch. 6

  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 Ch. 6

  4. for Loops • General form:for ( <initialize variable>; <test>; <increment> ){ <instruction set>} Ch. 6

  5. for Loops (cont.) • <initialize variable> sets a variable/identifier to a certain value (variable is usually count, i, j) • <test> is a test that is evaluated each time the body is about to be executed (when false, loop is exited) • <increment> changes the loop control variable (usually x++ or x--) Ch. 6

  6. for Loops (cont.) • Example:for (int x=1; x <= 5; x++){ karel.putBeeper();} Ch. 6

  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 Ch. 6

  8. while Loops • General form:while ( <test> ){ <instruction list>} • Loop continues until test is false Ch. 6

  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 Ch. 6

  10. while Loops (cont.) • Example:while (karel.frontIsClear ()){ karel.move ();} • Causes karel to move continuously until there is a wall in front of it Ch. 6

  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 Ch. 6

  12. Building a While LoopFormalizing (making easier) the ad-hoc way you’ve 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 1’s result as the <test> 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.) Ch. 6

  13. Building a While Loop (cont’d) • 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. Ch. 6

  14. Let’s 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 don’t get to run any programs during our tests nor on the AP exam – also, you’ll 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 (???) { ??? } Ch. 6

  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 ( ??? ) { ??? } Ch. 6

  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 Ch. 6

More Related