Iteration (Loops) Loops repeat a set of instructions

Slides:



Advertisements
Similar presentations
Karel – Chapter 6 Instructions That Repeat
Advertisements

Karel J Robot Chapter 6.
© 2004 Pearson Addison-Wesley. All rights reserved5-1 Iterations/ Loops The while Statement Other Repetition Statements.
Copyright © Texas Education Agency, Computer Programming For Loops.
1 karel_part5_loops Iteration (Loops) Loops repeat a set of instructions Two types of loops: –Definite loops ( for ) perform instructions explicit (known)
Karel J Robot An introduction to BlueJ and Object- Oriented Programming.
1 Ch. 7 Recursion similar to iteration in that you repeatedly do a little bit of the task and then “loop” again and work on a smaller piece - eventually.
C++ for Everyone by Cay Horstmann Copyright © 2012 by John Wiley & Sons. All rights reserved For Loops October 16, 2013 Slides by Evan Gallagher.
CPS120 Introduction to Computer Science Iteration (Looping)
Mr. Dave Clausen1 La Cañada High School Chapter 6: Repetition Statements.
Recursion – means to recur or to repeat – A different way to get a robot to repeat an action A programming language that allows recursive definitions (and.
1 Karel – Chapter 6 Instructions That Repeat Note: Original slides provided by and modified for Mr. Smith’s AP Computer Science.
1 Ch. 6 Iteration (Loops) Loops repeat a set of instructions Two types of loops: –Definite loops ( for ) perform instructions explicit number of times.
CPS120 Introduction to Computer Science Iteration (Looping)
Fundamentals of Software Development 1Slide 1 Loops A loop is:A loop is: –a block of code that executes repeatedly while some condition holds true. Java.
Karel J. Robot Chapter 6 Instructions That Repeat.
Mile-long hurdle race Suppose that we want to program Karel to run a one-mile long hurdle race, where vertical wall sections represent hurdles. The hurdles.
Repetition everywhere – comparing while in a method and as an event Susan Rodger Duke University July 2010.
BIT 115: Introduction To Programming Professor: Dr. Baba Kofi Weusijana (say Doc-tor Way-oo-see-jah-nah, Doc-tor, or Bah-bah)
1 Karel – Chapter 6 Instructions That Repeat Note: Original slides provided by and modified for Mr. Smith’s AP Computer Science.
Loops Tonga Institute of Higher Education. Introduction Programs need to be able to execute tasks repeatedly. Use loops to repeat actions  For Loop 
Karel J. Robot Chapter 6 Instructions That Repeat.
Topic : While, For, Do-While Loop Guided By : Branch : Batch :
Structured Programming The Basics
Identify the Appropriate Method for Handling Repetition
Mile-long hurdle race Suppose that we want to program Karel to run a one-mile long hurdle race, where vertical wall sections represent hurdles. The hurdles.
CprE 185: Intro to Problem Solving (using C)
Chapter 4 Repetition Statements (loops)
REPETITION CONTROL STRUCTURE
CHAPTER 4 REPETITION CONTROL STRUCTURE / LOOPING
Python Loops and Iteration
Introduction To Repetition The for loop
Lecture 6 Repetition Richard Gesick.
Python: Control Structures
Lesson 05: Iterations Class Chat: Attendance: Participation
Programming Logic and Design Fourth Edition, Comprehensive
Loops We have already seen instances where a robot needs to repeat instructions to perform a task turnRight(); moveMile(); Harvesting beepers in a field.
Karel J Robot Chapter 6.
CS 106A, Lecture 2 Programming with Karel
Topic 5 for Loops -Arthur Schopenhauer
( Iteration / Repetition / Looping )
CS 240 – Lecture 11 Pseudocode.
Sentinel logic, flags, break Taken from notes by Dr. Neil Moore
Iteration with While You can say that again.
MSIS 655 Advanced Business Applications Programming
Creativity in Algorithms
Outline Altering flow of control Boolean expressions
Lesson 05: Iterations Topic: Introduction to Programming, Zybook Ch 4, P4E Ch 5. Slides on website.
Structured Programming Taken from notes by Dr. Neil Moore
Unit 1 Test 1 Redo Friday at 8am here or Friday 4th BLOCK in Math Lab
Chapter 6: Repetition Statements
Algorithm and Ambiguity
UMBC CMSC 104 – Section 01, Fall 2016
Control Structures Part 1
CH5 – Conditional Statements
FLUENCY WITH INFORMATION TECNOLOGY
More Loops Topics Counter-Controlled (Definite) Repetition
Loops.
Instructor: Craig Duckett
Topics Introduction to Repetition Structures
Repetition Statements (Loops) - 2
Statements in C Programming
More Loops Topics Counter-Controlled (Definite) Repetition
Review of Previous Lesson
While Loops in Python.
The while Looping Structure
More Loops Topics Counter-Controlled (Definite) Repetition
Module 4 Loops and Repetition 9/19/2019 CSE 1321 Module 4.
Presentation transcript:

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

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??? - should use a definite loop (for) - we know in advance exactly how many times (numMoves number of times) that we should move - therefore, definite - yes, we could use an indefinite loop - the loops are always interchangable - that doesn’t mean we should use whatever we feel like - I can, for example, use a sledge hammer to pound in a thumb tack - but it’s not the right tool. recognize patterns in cs and solve using a standard technique/tool. ok - i’ve heard the argument that always using a for loop is good because your initialization/increment/test are all located in one location (namely, between the parentheses). fine. i see merit. but, for now - in the beginning - i teach patterns. later, i change my mind and do things like: for (Iterator iter=someArrayList.iterator(); iter.hasNext(); ) Ch. 6

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

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

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

for Loops (cont.) Example: for (int x=1; x<=5; x++) { karel.move(); } This causes karel to move 5 times Ch. 6

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

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

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

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

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

Building a While Loop Formalizing (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

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

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 (???) { ??? } Assume existence of method leftIsBlocked() Ch. 6

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

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