1 CS428 Web Engineering Lecture 13 Flow Control Loops (JavaScript - III)

Post on 18-Jan-2018

214 views 0 download

description

3 if: Example 2 if ( day == “Sunday” ) { person = “Cool” ; mood = “Great” ; clothing = “Casual” ; } Set the value of the variable ‘person to ‘Cool’, ‘mood’ to ‘Great’, and ‘clothing’ to ‘casual’ if the ‘day’ is equal to ‘Sunday’ These curly braces group the multiple statements into a single compound statement

Transcript of 1 CS428 Web Engineering Lecture 13 Flow Control Loops (JavaScript - III)

CS428 Web EngineeringLecture 13

Flow Control & Loops (JavaScript - III)

2

if: Example 1if ( day == “Sunday” )

Weather = “Cool” ;

Set the value of the variable ‘weather to ‘Cool’ if the ‘day’ is equal to ‘Sunday’

The condition enclosed in parentheses semicolon

This was the case if we want to execute a single statement given that the condition is true

What if we want to execute multiple statements in case the condition is true?

if: Example 2if ( day == “Sunday” ) {

person = “Cool” ;mood = “Great” ;clothing = “Casual” ;

}

Set the value of the variable ‘person to ‘Cool’, ‘mood’ to ‘Great’, and ‘clothing’ to ‘casual’ if the ‘day’ is equal to ‘Sunday’

These curly braces group the multiple statements into a single compound statement

Compound Statements1. At times, we need to put multiple statements at

places where JavaScript expects only one

2. For those situations, JavaScript provides a way of grouping a number of statements into a single statement, called a “statement block”

3. This is done simply by enclosing any number of statements within curly braces, { }

4. NOTE: Although the statements within the block end in semicolons, the block itself doesn’t

if: Example 3if ( (day == “Sunday”) || (day == “Saturday”) ) {

person = “Cool” ;mood = “Great” ;clothing = “Casual” ;

}=====================weekend = ( day == “Sunday” ) || ( day ==“Saturday” ) ;if ( weekend ) {

person = “Cool” ;mood = “Great” ;clothing = “Casual” ;

}

We now know how to execute a statement or a block of statements given that the condition is true….What if we want to include an alternate action as well, i.e. a statement or a block of statements to be executed in case the condition in not true….if ( GPA >= 2.5 )

student = “Pass” ;else

student = “Fail” ;

if … else: Example

if ( GPA >= 2.5 ) {student = “Pass” ;mood = “Great” ;

}else

student = “Fail” ;

if … else: Example 5if ( grade == “A” )

points = 4.0 ;if ( grade == “B” )

points = 3.0 ;if ( grade == “C” )

points = 2.0 ;if ( grade == “D” )

points = 1.0 ;if ( grade == “F” )

points = 0.0 ;

What can we do to improve it?

This piece of code is correct, but not very efficient!

if … else: Example 6

if ( grade == “A” )points = 4.0 ;

else {if ( grade == “B” )

points = 3.0 ;else {

if ( grade == “C” )points = 2.0 ;

else {if ( grade == “D” )

points = 1.0 ;else

points = 0.0 ;}

}}

switch: Example 1

switch ( grade ) {case “A” :

points = 4.0 ;break ;

case “B” :points = 3.0 ;break ;

case “C” :points = 2.0 ;break ;

case “D” :points = 1.0 ;break ;

default :points = 0.0 ;

}

The expression enclosed in parentheses is evaluated and matched with case labels

This is a case label

A colon following the case label is required

This ‘break’ statement is the exit point The ‘default’ statement

acts like the ‘else’ clause in the ‘if…else’ structure

switch: Example 2switch ( inquiry ) {case “apple” :

document.write( “Apples are Rs 50/kg” ) ;break ;

case “mangos” :document.write( “Mangos are Rs 90/kg” ) ;break ;

case “grapes” :document.write( “Grapes are Rs 60/kg” ) ;break ;

default :document.write( inquiry + “? Please

retry!” ) ;}

if … else: Example

if ( ( GPA >= 2.5 ) && ( attendance >= 40 ) ) bhola = “Pass” ;

else {if ( ( GPA >= 2.0 ) && ( attendance >= 36 ) ) bhola = “Probation” ;else

bhola = “Fail” ;}

Loop through a set of statements as long as a condition is true

conditionTrue

False

statementblock

x = 75 ; // x is the decimal numbery = “” ; // y is the binary equivalentwhile ( x > 0 ) {

remainder = x % 2 ;quotient = Math.floor( x / 2 ) ;y = remainder + y ;x = quotient ;

}document.write( “y = ” + y ) ;

Decimal to Binary Conversion in JavaScriptThe condition enclosed in parentheses

while: Example 2

while ( tankIsFull == false ) {tank = tank + bucket ;

}document.write ( “Tank is full now” ) ;========x = 1 ;while ( x < 6000 ) {

document.write ( x ) ;x = x + 1 ;

}

for: Example 1

x = 1 ;while ( x < 6000 ) {

document.write ( x ) ;x = x + 1 ;

}for ( x = 1 ; x < 6000 ; x = x + 1 ) {

document.write ( x ) ;}

Initial count Condition Operation

for: Description (1)

1. The ‘for’ loop starts by initializing the counter variable (which in this case is x)

2. The initial value in this case is ‘1’, but can be any other positive or negative number as well

3. Next the ‘for’ loop checks the condition. If the condition evaluates to a ‘true’ value, the ‘for’ loop goes through the loop once

for: Description (2)

4. After reaching the end of that iteration, the ‘for’ loop goes to the top once again, performs the operation, checks the condition

5. If the condition evaluates to a ‘false’ value, the ‘for’ loop finishes looping

6. Otherwise, the ‘for’ loop goes through the loop once again

7. Repeat from step 4

for: Example

for ( x = 99 ; x < 6000 ; x = x + 1 ) {document.write ( x ) ;

}=============for ( x = 6000 ; x > 0 ; x = x - 1 ) {

document.write ( x ) ;}

How many iterations would this ‘for’ loop run for?

for --?-- while

• When the exact number of iterations is known, use the ‘for’ loop

• When the number of iterations depend upon a condition being met, use the ‘while’ loop

• ‘for’ loops become especially useful when used in conjunction with arraysWe’ll find out about arrays next time, and we’ll probe their usefulness as part of ‘for’ loop structures