1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy,...

47
1 Looping Dale/Weems/Headington

description

3 l A loop is a repetition control structure. l it causes a single statement or block to be executed repeatedly What is a loop?

Transcript of 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy,...

Page 1: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

1

Looping Dale/Weems/Headington

Page 2: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

2

KA/JS/P Warning

Save your work often!

In the Khan Academy, JavaScript environment, infinite loops will lock up the browser.

Page 3: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

3

A loop is a repetition control structure.

it causes a single statement or block to be executed repeatedly

What is a loop?

Page 4: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

4

While StatementSYNTAX

while ( Expression ) { . . // loop body

.}

NOTE: Loop body can be a null statement, or a block.

Page 5: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

5

When the expression is tested and found to be false, the loop is exited and control passes to the statement which follows the loop body.

WHILE LOOP

FALSE

TRUE bodystatement

Expression

Page 6: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

6

an initialization of the loop control variable

an expression to test for continuing the loop

an update of the loop control variable to be executed with each iteration of the body

Count-controlled loop contains

Page 7: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

7

var count ;

count = 4; // initialize loop variable

while (count > 0) // test expression{

println(count); // repeated action

count -- ; // update loop variable}println("Done");

Count-controlled Loop

Page 8: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

8

Count-controlled Loopvar count ;

count = 4;

while (count > 0){

println(count);

count -- ;}println("Done");

OUTPUT

count

Page 9: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

9

Count-controlled Loopvar count ;

count = 4;

while (count > 0){

println(count);

count -- ;}println("Done");

OUTPUT

count

4

Page 10: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

10

Count-controlled Loopvar count ;

count = 4;

while (count > 0) TRUE{

println(count);

count -- ;}println("Done");

OUTPUT

count

4

Page 11: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

11

Count-controlled Loopvar count ;

count = 4;

while (count > 0){

println(count);

count -- ;}println("Done");

OUTPUT 4

count

4

Page 12: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

12

Count-controlled Loopvar count ;

count = 4;

while (count > 0){

println(count);

count -- ;}println("Done");

OUTPUT 4

count

3

Page 13: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

13

Count-controlled Loopvar count ;

count = 4;

while (count > 0) TRUE{

println(count);

count -- ;}println("Done");

OUTPUT 4

count

3

Page 14: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

14

Count-controlled Loopvar count ;

count = 4;

while (count > 0){

println(count);

count -- ;}println("Done");

OUTPUT 4

3

count

3

Page 15: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

15

Count-controlled Loopvar count ;

count = 4;

while (count > 0){

println(count);

count -- ;}println("Done");

OUTPUT 4

3

count

2

Page 16: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

16

Count-controlled Loopvar count ;

count = 4;

while (count > 0) TRUE{

println(count);

count -- ;}println("Done");

OUTPUT 4

3

count

2

Page 17: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

17

Count-controlled Loopvar count ;

count = 4;

while (count > 0){

println(count);

count -- ;}println("Done");

OUTPUT 4

3 2

count

2

Page 18: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

18

Count-controlled Loopvar count ;

count = 4;

while (count > 0){

println(count);

count -- ;}println("Done");

OUTPUT 4

3 2

count

1

Page 19: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

19

Count-controlled Loopvar count ;

count = 4;

while (count > 0) TRUE{

println(count);

count -- ;}println("Done");

OUTPUT 4

3 2

count

1

Page 20: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

20

Count-controlled Loopvar count ;

count = 4;

while (count > 0){

println(count);

count -- ;}println("Done");

OUTPUT 4

3 2 1

count

1

Page 21: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

21

Count-controlled Loopvar count ;

count = 4;

while (count > 0){

println(count);

count -- ;}println("Done");

OUTPUT 4

3 2 1

count

0

Page 22: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

22

Count-controlled Loopvar count ;

count = 4;

while (count > 0) FALSE{

println(count);

count -- ;}println("Done");

OUTPUT 4

3 2 1

count

0

Page 23: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

23

Count-controlled Loopvar count ;

count = 4;

while (count > 0){

println(count);

count -- ;}println("Done");

OUTPUT 4

3 2 1 Done

count

0

Page 24: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

24

for Statement

Page 25: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

25

A Count-Controlled Loop

SYNTAX

for ( initialization ; test expression ; update ) {

0 or more statements to repeat

}

Page 26: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

26

The for loop contains

an initialization

an expression to test for continuing

an update to execute after each iteration of the body

Page 27: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

27

Example of Repetition

for ( var num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");}

Page 28: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

28

Example of Repetition num

var num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

OUTPUT

?

Page 29: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

29

Example of Repetition num

OUTPUT

1

var num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

Page 30: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

30

Example of Repetition num

OUTPUT

1

var num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

true

Page 31: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

31

Example of Repetition num

var num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

OUTPUT

1

1Potato

Page 32: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

32

Example of Repetition num

OUTPUT

2

var num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

1Potato

Page 33: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

33

Example of Repetition num

OUTPUT

2

true

1Potato

var num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

Page 34: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

34

Example of Repetition num

var num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

OUTPUT

2

1Potato

2Potato

Page 35: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

35

Example of Repetition num

OUTPUT

3

var num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

1Potato

2Potato

Page 36: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

36

Example of Repetition num

OUTPUT

3

true

1Potato

2Potato

var num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

Page 37: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

37

Example of Repetition num

var num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

OUTPUT

3

1Potato

2Potato

3Potato

Page 38: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

38

Example of Repetition num

OUTPUT

4

var num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

1Potato

2Potato

3Potato

Page 39: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

39

Example of Repetition num

OUTPUT

4

false

1Potato

2Potato

3Potato

var num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

Page 40: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

40

Example of Repetition num

When the loop control condition is evaluated and has value false, theloop is said to be “satisfied” and control passes to the statementfollowing the For statement.

4

falsevar num;

for ( num = 1 ; num <= 3 ; num++ ) {

println(num + " Potato");

Page 41: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

41

The output was:

1Potato2Potato3Potato

Page 42: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

42

for (var count = 4 ; count > 0 ; count-- ){ println(count);}

println(“Done”);

Count-controlled Loop

OUTPUT: 4321Done

Page 43: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

Count Control Loop Example

Display integers and their squares from 1 through 10.

for (var i = 1; i <= 10; i++) { println(i + " " + i*i);}

Page 44: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

For example

Display even integers and their squares from 1 through 10.

for (var i = 2; i <= 10; i = i+2) { println(i + " " + i*i);}

Page 45: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

For example

Display integers and their squares from 10 down to 1.

for (var i = 10; i >= 1; i--) {println(i + " " + i*i);}

Page 46: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

For example

Find square roots of 1.1, 1.2, 1.3, ..., 2.0

for (var x = 1.1; x <= 2.0; x =x+0.1) { println(x + " " + sqrt(x));}

Page 47: 1 Looping Dale/Weems/Headington. 2 KA/JS/P Warning l Save your work often! l In the Khan Academy, JavaScript environment, infinite loops will lock up.

Compute and return n! = 1 2 3 ... n.

var product = 1; for (var i = 2; i <= n; i++) {

product = product * i;}

For example