Chapter 9 - JavaScript: Control Structures II

Similar documents
Chapter 10 JavaScript/JScript: Control Structures II 289

Javascript Lesson 3: Controlled Structures ANDREY KUTASH

Chapter 8 JavaScript/JScript: Introduction to Scripting 201

Chapter 4 C Program Control

JavaScript: Control Statements I Pearson Education, Inc. All rights reserved.

Chapter 11 - JavaScript: Arrays

2.11 Assignment Operators. Assignment expression abbreviations c = c + 3; can be abbreviated as c += 3; using the addition assignment operator

Loops! Loops! Loops! Lecture 5 COP 3014 Fall September 25, 2017

LECTURE 5 Control Structures Part 2

Chapter 5 Control Structures: Part 2

Chapter 4 C Program Control

Lecture 6 Part a: JavaScript

C Program Control. Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan

JavaScript: Introduction to Scripting

M275 - Web Development using PHP and MySQL

JavaScript: Control Statements I

Structured Program Development in C

Theory of control structures

The first sample. What is JavaScript?

Flow of Control. Relational Operators. Operators Review. Order of Operations

Programming for Engineers Iteration

Chapter 7: Javascript: Control Statements. Background and Terminology. Background and Terminology. Background and Terminology

Programming Basics and Practice GEDB029 Decision Making, Branching and Looping. Prof. Dr. Mannan Saeed Muhammad bit.ly/gedb029

JavaScript: Introductionto Scripting

Introduction. C provides two styles of flow control:

Internet & WWW How to Program

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Notesc120Mar515.notebook. March 05, Next I want to change the logic to handle all four of these:

Fundamentals of Programming Session 9

COMS W3101: SCRIPTING LANGUAGES: JAVASCRIPT (FALL 2017)

Chapter 4 Control Structures: Part 2

Exercise 1: Basic HTML and JavaScript

Why Is Repetition Needed?

Working with JavaScript

Chapter 1 Introduction to Computers and the Internet

Program Design Phase. Algorithm Design - Mathematical. Algorithm Design - Sequence. Verify Algorithm Y = MX + B

Chapter 5: Control Structures II (Repetition) Objectives (cont d.) Objectives. while Looping (Repetition) Structure. Why Is Repetition Needed?

C++ Programming: From Problem Analysis to Program Design, Third Edition

Control Statements. Musa M. Ameen Computer Engineering Dept.

334 JavaScript/JScript: Functions Chapter 11. boss. worker1 worker2 worker3. Hierarchical boss function/worker function relationship.

There are algorithms, however, that need to execute statements in some other kind of ordering depending on certain conditions.

Structured Program Development

Control Structures (Deitel chapter 4,5)

JAVASCRIPT LESSON 4: FUNCTIONS

BIL101E: Introduction to Computers and Information systems Lecture 8

C++ Programming: From Problem Analysis to Program Design, Fourth Edition. Chapter 5: Control Structures II (Repetition)

REPETITION CONTROL STRUCTURE LOGO

Chapter 2: Functions and Control Structures

People = End Users & Programmers. The Web Browser Application. Program Design Phase. Algorithm Design -Mathematical Y = MX + B

HTML Summary. All of the following are containers. Structure. Italics Bold. Line Break. Horizontal Rule. Non-break (hard) space.

C++ Programming Lecture 7 Control Structure I (Repetition) Part I

INDIAN SCHOOL DARSAIT FIRST TERM EXAM- MAY 2017 MULTIMEDIA AND WEB TECHNOLOGY (067) SAMPLE PAPER Class: XI Max.Marks: 70

HTML5 and CSS3 More JavaScript Page 1

CHAPTER 5: JavaScript Basics 99

Chapter 2 - Control Structures

Chapter 1 Getting Started with HTML 5 1. Chapter 2 Introduction to New Elements in HTML 5 21

Chapter 3 - Simple JavaScript - Programming Basics. Lesson 1 - JavaScript: What is it and what does it look like?

Chapter 3 Structured Program Development

INFS 2150 Introduction to Web Development and e-commerce Technology. Programming with JavaScript

Objectives. Introduction to JavaScript. Introduction to JavaScript INFS Peter Y. Wu, RMU 1

Computational Expression

JavaScript: Functions Pearson Education, Inc. All rights reserved.

Class 9. Choose the correct answer:

CGS 3066: Spring 2015 JavaScript Reference

Loops and Files. Chapter 04 MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz

Introduction to Programming

Chapter 2 - Control Structures

Computer Programming: C++

Second Term ( ) Department of Computer Science Foundation Year Program Umm Al Qura University, Makkah

Flow Control: Branches and loops

Sequence structure. The computer executes java statements one after the other in the order in which they are written. Total = total +grade;

recall: a Web page is a text document that contains additional formatting information in the HyperText Markup Language (HTML)

Syllabus - July to Sept

Chapter 2 - Control Structures

Html basics Course Outline

Unit 20 - Client Side Customisation of Web Pages. Week 4 Lesson 5 Fundamentals of Scripting

Week 2. Relational Operators. Block or compound statement. if/else. Branching & Looping. Gaddis: Chapters 4 & 5. CS 5301 Spring 2018.

CSC 121 Computers and Scientific Thinking

CSC 160 Introduction to Programming for Non-majors. Lecture 4 - Looping Around Loops I: Counting Loops. Why loops?

COMPSCI 120 Fall 2017 Review Questions for Midterm #2 Professor William T. Verts

Internet publishing HTML (XHTML) language. Petr Zámostný room: A-72a phone.:

Controlled Assessment Task. Question 1 - Describe how this HTML code produces the form displayed in the browser.

HTML Hints & Tips. HTML is short for HyperText Markup Language.

Chapter 5: Control Structures II (Repetition)

As we design and build out our HTML pages, there are some basics that we may follow for each page, site, and application.

In this chapter you will learn:

CHAPTER 2.2 CONTROL STRUCTURES (ITERATION) Dr. Shady Yehia Elmashad

Introduction to HTML. SSE 3200 Web-based Services. Michigan Technological University Nilufer Onder

ENGR 1181 MATLAB 09: For Loops 2

PDS Lab Section 16 Autumn Tutorial 3. C Programming Constructs

Year 8 Computing Science End of Term 3 Revision Guide

STUDENT OUTLINE. Lesson 8: Structured Programming, Control Structures, if-else Statements, Pseudocode

204111: Computer and Programming

A Balanced Introduction to Computer Science, 3/E

Dynamism and Detection

COMS W3101: SCRIPTING LANGUAGES: JAVASCRIPT (FALL 2018)

CSC Web Programming. Introduction to JavaScript

C++ PROGRAMMING SKILLS Part 2 Programming Structures

What is PHP? [1] Figure 1 [1]

Decision Making in C

Transcription:

Chapter 9 - JavaScript: Control Structures II Outline 9.1 Introduction 9.2 Essentials of Counter-Controlled Repetition 9.3 for Repetition Structure 9. Examples Using the for Structure 9.5 switch Multiple-Selection Structure 9.6 do/while Repetition Structure 9. break and continue Statements 9.8 Labeled break and continue Statements 9.9 Logical Operators 9.10 Summary of Structured Programming 1 1 <?xml version = "1.0"?> 5 <!-- Fig. 9.1: WhileCounter.html --> 6 <!-- Counter-Controlled Repetition --> 10 <title>counter-controlled Repetition</title> 11 12 <script type = "text/javascript"> 13 <!-- 1 var counter = 1; // initialization 15 16 while ( counter <= ) { // repetition condition 1 document.writeln( "<p style = \"font-size: " + 18 counter + "ex\">xhtml font size " + counter + 19 "ex</p>" ); 20 ++counter; // increment 21 } 22 // --> 23 </script> 2 25 </head><body></body> 26 </html> The while loop will continue until the value of counter is greater than. Increment the counter. Outline whilecounter.html 2

Outline 3 1 <?xml version = "1.0"?> 5 <!-- Fig. 9.2: ForCounter.html --> 6 <!-- Counter-Controlled Repetition with for structure --> 10 <title>counter-controlled Initialization Repetition</title> 11 Repetition condition 12 <script type = "text/javascript"> 13 <!-- 1 // Initialization, repetition condition and 15 // incrementing are all included in the for 16 // structure header. 1 for ( var counter = 1; counter <= ; ++counter ) 18 document.writeln( "<p style = \"font-size: " + 19 counter + "ex\">xhtml font size " + counter + 20 "ex</p>" ); 21 // --> 22 </script> 23 2 </head><body></body> 25 </html> Incrementing Outline ForCounter.html

Outline 5 9.3 For Repetition Structure 6 for keyword Control variable name Final value of control variable for which the condition is true for ( var counter = 1; counter <= ; ++counter ) Initial value of control variable Increment of control variable Loop-continuation condition Fig. 9.3 Components of a typical for structure header.

9. Examples Using the for Structure var counter = 1 Establish initial value of control variable. Determine if final value of control variable has been reached. counter <= false true document.writeln( "<p style=\"font-size: " + counter + "ex\">xhtml font size " + counter + "ex</p>" ); Body of loop (this may be many statements) ++counter Increment the control variable. Fig. 9. Flowcharting a typical for repetition structure. 1 <?xml version = "1.0"?> 5 <!-- Fig. 9.5: Sum.html --> 6 <!-- Using the for repetition structure --> 10 <title>sum the Even Integers from 2 to 100</title> 11 12 <script type = "text/javascript"> The for loop will continue until the value of number is greater than 100. Initialization. Repetition condition. Incrementing. 13 <!-- 1 var sum = 0; 15 16 for ( var number = 2; number <= 100; number += 2 ) 1 sum += number; 18 19 document.writeln( "The sum of the even integers " + 20 "from 2 to 100 is " + sum ); 21 // --> 22 </script> 23 2 </head><body></body> 25 </html> Sum.html Outline 8

1 <?xml version = "1.0"?> 5 <!-- Fig. 9.6: interest.html --> 6 <!-- Using the for repetition structure --> 10 <title>calculating Compound Interest</title> 11 12 <script type = "text/javascript"> 13 <!-- 1 var amount, principal = 1000.0, rate =.05; 15 16 document.writeln( 1 "<table border = \"1\" width = \"100%\">" ); 18 document.writeln( 19 "<caption>calculating Compound Interest</caption>" ); 20 document.writeln( 21 "<thead><tr><th align = \"left\">year</th>" ); 22 document.writeln( 23 "<th align = \"left\">amount on deposit</th>" ); 2 document.writeln( "</tr></thead>" the amount. ); 25 26 for ( var year = 1; year <= 10; ++year ) { 2 amount = principal * Math.pow( 1.0 + rate, year ); 28 document.writeln( "<tbody><tr><td>" + year + 29 "</td><td>" + Math.round( amount * 100 ) / 100 + 30 "</td></tr>" ); 31 } 32 33 document.writeln( "</tbody></table>" ); 3 // --> 35 </script> Opening table element. Each iteration of the for loop creates a table row listing the year of the loan and Outline Interest.html 9 36 3 </head><body></body> 38 </html> Outline 10 Interest.html

1 <?xml version = "1.0"?> 5 <!-- Fig. 9.: SwitchTest.html --> 6 <!-- Using the switch structure --> 10 <title>switching between XHTML List Formats</title> 11 12 <script type = "text/javascript"> 13 <!-- user in the prompt dialog. 1 var choice, // user s choice 15 starttag, // starting list item tag 16 endtag, // ending list item tag 1 validinput = true, // indicates if input is valid 18 listtype; // list type as a string 19 20 choice = window.prompt( "Select a list style:\n" + 21 "1 (bullet), 2 (numbered), 3 (lettered)", "1" ); 22 23 switch ( choice ) { 2 case "1": Variable choice is given the value input by the The value of choice is evaluated against each of the values of the case labels. The break statement causes program control to proceed with the first statement after the switch structure. 25 starttag = "<ul>"; 26 endtag = "</ul>"; 2 listtype = "<h1>bullet List</h1>"; 28 break; 29 case "2": 30 starttag = "<ol>"; 31 endtag = "</ol>"; 32 listtype = "<h1>ordered List: Numbered</h1>"; 33 break; Outline 11 SwitchTest.html 3 case "3": 35 starttag = "<ol type = \"A\">"; 36 endtag = "</ol>"; 3 listtype = "<h1>ordered List: Lettered</h1>"; 38 break; 39 default: 0 validinput = false; 1 } 2 3 if ( validinput == true ) { document.writeln( listtype + starttag ); 5 6 for ( var i = 1; i <= 3; ++i ) If none of the cases match, variable validinput is set to false. If the user input a valid value, the list is document.writeln( "<li>list item " + i + "</li>" ); 8 created. 9 document.writeln( endtag ); 50 } 51 else 52 document.writeln( "Invalid choice: " + choice ); 53 // --> 5 </script> 55 56 </head> 5 <body> 58 <p>click Refresh (or Reload) to run the script again</p> 59 </body> 60 </html> Otherwise, the message Invalid choice is displayed in the browser. Outline 12 SwitchTest.html

Outline 13 Outline 1

9.5 switch Multiple-Selection Structure 15 case a true case a action(s) break false case b true case b action(s) break false. true case z case z action(s) break false default action(s) Fig. 9.8 switch multiple-selection structure. 1 <?xml version = "1.0"?> 5 <!-- Fig. 9.9: DoWhileTest.html --> 6 <!-- Using the do/while structure --> 10 <title>using the do/while Repetition Structure</title> 11 12 <script type = "text/javascript"> Each iteration of the do/while loop 13 <!-- 1 var counter = writes 1; a line of text with a header 15 element to the XHTML document. 16 do { 1 document.writeln( "<h" + counter + ">This is " + 18 "an h" + counter + " level head" + "</h" + 19 counter + ">" ); 20 21 ++counter; 22 } while ( counter <= 6 ); 23 // --> 2 </script> 25 26 </head><body></body> 2 </html> The loop stops when the value of counter is greater than 6. Outline 16 DoWhileTest.html

Outline 1 9.6 do/while Repetition Structure 18 action(s) condition true false Fig. 9.10 Flowcharting the do/while repetition structure.

1 <?xml version = "1.0"?> 5 <!-- Fig. 9.11: BreakTest.html --> 6 <!-- Using the break statement --> 10 <title> 11 Using the break Statement in a for Structure When the value of variable count equals 5, the break statement causes program control to proceed to the first line outside the for loop. 12 </title> 13 1 <script type = "text/javascript"> 15 <!-- 16 for ( var count = 1; count <= 10; ++count ) { 1 if ( count == 5 ) 18 break; // break loop only if count == 5 19 20 document.writeln( "Count is: " + count + "<br />" ); 21 } 22 23 document.writeln( 2 "Broke out of loop at count = " + count ); 25 // --> 26 </script> 2 28 </head><body></body> 29 </html> Outline 19 BreakTest.html Outline 20

1 <?xml version = "1.0"?> 5 <!-- Fig. 9.12: ContinueTest.html --> 6 <!-- Using the break statement --> 10 <title> 11 Using the continue Statement in a for Structure 12 </title> 13 1 <script type = "text/javascript"> 15 <!-- 16 for ( var count = 1; count <= 10; ++count ) { 1 if ( count == 5 ) 18 continue; // skip remaining code in loop 19 // only if count == 5 20 21 document.writeln( "Count is: " + count + "<br />" ); 22 } 23 2 document.writeln( "Used continue to skip printing 5" ); 25 // --> 26 </script> 2 28 </head><body></body> 29 </html> When the value of variable count equals 5, the continue statement causes program control to proceed to the next iteration of the for loop. Outline 21 ContinueTest.htm l Outline 22

1 <?xml version = "1.0"?> 5 <!-- Fig. 9.13: BreakLabelTest.html --> 6 <!-- Using the break statement with a Label --> stop is the label for the break statement. 10 <title>using the break Statement with a Label</title> 11 12 <script type = "text/javascript"> 13 <!-- 1 stop: { // labeled compound statement 15 for ( var row = 1; row <= 10; ++row ) { 16 for ( var column = 1; column <= 5 ; ++column ) { 1 18 if ( row == 5 ) 19 break stop; // jump to end of stop block 20 21 document.write( "* " ); 22 } 23 2 document.writeln( "<br />" ); 25 } 26 2 // the following line is skipped 28 document.writeln( "This line should not print" ); 29 } 30 Outline 23 BreakLabelTest.h tml When the break statement is encountered, program control proceeds to the first line outside the stop block and not just the for loop where the statement is found. 31 document.writeln( "End of script" ); 32 // --> 33 </script> 3 35 </head><body></body> 36 </html> Outline 2 BreakLabelTest.h tml

1 <?xml version = "1.0"?> 5 <!-- Fig. 9.1: ContinueLabelTest.html --> 6 <!-- Using the continue statement --> 10 <title>using the continue Statement with a Label</title> 11 12 <script type = "text/javascript"> 13 <!-- 1 nextrow: // target label of continue statement 15 for ( var row = 1; row <= 5; ++row ) { 16 document.writeln( "<br />" ); 1 18 for ( var column = 1; column <= 10; ++column ) { 19 20 if ( column > row ) 21 continue nextrow; // next iteration of 22 in the // XHTML labeled document. loop 23 2 document.write( "* " ); 25 } 26 } 2 // --> 28 </script> 29 30 </head><body></body> 31 </html> nextrow is the label for the continue statement. Outline 25 ContinueLabelTes t.html If the value of variable column is greater than the value of variable row, the continue statement causes the next interation of the loop. If the continue statement is performed, method write does not print the string * Outline 26

9.9 Logical Operators 2 expression1 expression2 expression1 && expression2 false false false false true false true false false true true true Fig. 9.15 Truth table for the && (logical AND) operator. expression1 expression2 expression1 expression2 false false false false true true true false true true true true Fig. 9.16 Truth table for the (logical OR) operator. expression false!expression true true false Fig. 9.1 Truth table for operator! (logical negation). 1 <?xml version = "1.0"?> 5 <!-- Fig. 9.18: LogicalOperators.html --> 6 <!-- Demonstrating Logical Operators --> 10 <title>demonstrating the Logical Operators</title> 11 12 <script type = "text/javascript"> 13 <!-- 1 document.writeln( 15 "<table border = \"1\" width = \"100%\">" ); 16 1 document.writeln( 18 "<caption>demonstrating Logical " + 19 "Operators</caption" ); 20 21 document.writeln( 22 "<tr><td width = \"25%\">Logical AND (&&)</td>" + 23 "<td>false && false: " + ( false && false ) + 2 "<br />false && true: " + ( false && true ) + 25 "<br />true && false: " + ( true && false ) + 26 "<br />true && true: " + ( true && true ) + 2 "</td>" ); 28 29 document.writeln( 30 "<tr><td width = \"25%\">Logical OR ( )</td>" + 31 "<td>false false: " + ( false false ) + 32 "<br />false true: " + ( false true ) + 33 "<br />true false: " + ( true false ) + 3 "<br />true true: " + ( true true ) + 35 "</td>" ); Outline 28 LogicalOperators.html Each expression will evaluate to true or false using the rules of logical AND. Each expression will evaluate to true or false using the rules of logical OR.

36 3 document.writeln( 38 "<tr><td width = \"25%\">Logical NOT (!)</td>" + 39 "<td>!false: " + (!false ) + 0 "<br />!true: " + (!true ) + "</td>" ); 1 2 document.writeln( "</table>" ); 3 // --> </script> 5 6 </head><body></body> </html> These expressions demonstrate the use of logical NOT. Outline 29 LogicalOperators.html 9.10 Summary of Structured Programming 30 Operators Associativity Type () left to right parentheses ++ --! right to left unary * / % left to right multiplicative + - left to right additive < <= > >= left to right relational ==!= left to right equality && left to right logical AND left to right logical OR?: right to left conditional = += -= *= /= %= right to left assignment Fig. 9.19 Precedence and associativity of the operators discussed so far.

9.10 Summary of Structured Programming 31 Repetition Selection Sequence while structure T if/else structure (double selection) T F if structure (single selection) T F F do/while structure T F for structure switch structure (multiple selection) T br eak br eak T F F.. T F br eak T F Fig. 9.20 JavaScript s single-entry/single-exit sequence, selection and repetition structures. 9.10 Summary of Structured Programming 32 Rules for Forming Structured Programs 1) Begin with the simplest flowchart (Fig. 9.22). 2) Any rectangle (action) can be replaced by two rectangles (actions) in sequence. 3) Any rectangle (action) can be replaced by any control structure (sequence, if, if/else, switch, while, do/while or for). ) Rules 2 and 3 may be applied as often as you like and in any order. Fig. 9.21 Rules for forming structured programs.

9.10 Summary of Structured Programming 33 Fig. 9.22 Simplest flowchart. 9.10 Summary of Structured Programming 3 Rule 2 Rule 2 Rule 2... Fig. 9.23 Repeatedly applying rule 2 of Fig. 9.21 to the simplest flowchart.

35 Rule 3 Rule 3 Rule 3 Fig. 9.2 Applying rule 3 of Fig. 9.21 to the simplest flowchart 9.10 Summary of Structured Programming 36 Stacked building blocks Nested building blocks Overlapping building blocks (Illegal in structured programs) Fig. 9.25 Stacked, nested and overlapped building blocks.

9.10 Summary of Structured Programming 3 Fig. 9.26 Unstructured flowchart.