 2003 Prentice Hall, Inc. All rights reserved. 1 Chapter 5 – Control Structures: Part 2 Outline 5.1 Introduction 5.2 Essentials of Counter-Controlled.

Slides:



Advertisements
Similar presentations
Session 5 JavaScript/JScript: Control Structures II Matakuliah: M0114/Web Based Programming Tahun: 2005 Versi: 5.
Advertisements

1 Outline Chapter 4 Introduction Control Structures if Single-Selection Statement if else Selection Statement while Repetition Statement Assignment Operators.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 4 – C Program Control Outline 4.1Introduction.
 2008 Pearson Education, Inc. All rights reserved Control Statements: Part 2.
Chapter 5 - Control Structures - Part 2 Outline 5.1Introduction 5.2Essentials of Counter-Controlled Repetition 5.3The for Repetition Structure 5.4Examples.
 2006 Pearson Education, Inc. All rights reserved Control Statements: Part 2.
Control Structures: Part 2. Introduction Essentials of Counter-Controlled Repetition For / Next Repetition Structure Examples Using the For / Next Structure.
1 Outline 4.1 Introduction 4.2 Algorithms 4.3 Pseudocode 4.4 Control Structures 4.5 if Single-Selection Statement 4.6 if else Selection Statement 4.7 while.
 2007 Pearson Education, Inc. All rights reserved C Program Control.
 2005 Pearson Education, Inc. All rights reserved Control Statements: Part 2.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 4 - Program Control Outline 4.1Introduction 4.2The Essentials of Repetition 4.3Counter-Controlled.
 2003 Prentice Hall, Inc. All rights reserved. 1 Outline 4.1 Introduction 4.2 Algorithms 4.3 Pseudocode 4.4 Control Structures 4.5 if Single-Selection.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Control Statements II.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved The switch Multiple-Selection Statement switch.
 2003 Prentice Hall, Inc. All rights reserved. 1 Outline 4.1 Introduction 4.2 Algorithms 4.3 Pseudocode 4.4 Control Structures 4.5 if Single-Selection.
 2002 Prentice Hall. All rights reserved. 1 Chapter 5 – Control Structures: Part 2 Outline 5.1 Introduction 5.2 Essentials of Counter-Controlled Repetition.
1 Lecture 4 for loops and switch statements Essentials of Counter-Controlled Repetition Counter-controlled repetition requires  Name of control.
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 5 - Control Structures - Part 2 Outline 5.1Introduction 5.2Essentials of Counter-Controlled Repetition.
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 4 - Program Control Outline 4.1Introduction 4.2The Essentials of Repetition 4.3Counter-Controlled.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
Chapter 5 Control Structures: Part II 1 3 Used when you know in advance how many times you want the loop to be executed. 4 Requirements: 1.
 2004 Prentice Hall, Inc. All rights reserved. Chapter 9 - JavaScript: Control Statements II Outline 9.1 Introduction 9.2 Essentials of Counter-Controlled.
Lecture 4 C Program Control Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc.
 2002 Prentice Hall. All rights reserved. 1 Chapter 5 – Control Structures: Part 2 Outline 5.1Introduction 5.2 Essentials of Counter-Controlled Repetition.
Control Structures Week Introduction -Representation of the theory and principles of structured programming. Demonstration of for, while,do…whil.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
1 CSCE 1030 Computer Science 1 Control Statements in Java.
 2003 Prentice Hall, Inc. All rights reserved. 1 Typecasting.
Chapter 4 C Program Control. Objectives In this chapter, you will learn: –To be able to use the for and do … while repetition statements. –To understand.
University of Palestine software engineering department Introduction to data structures Control Statements: Part 1 instructor: Tasneem Darwish.
 2003 Prentice Hall, Inc. All rights reserved. 1 Chapter 4 - Control Structures: Part 1.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Flow Control (for) Outline 4.1Introduction 4.2The.
 2003 Prentice Hall, Inc. All rights reserved. 1 Outline 4.1 Introduction 4.2 Algorithms 4.3 Pseudocode 4.4 Control Structures 4.5 if Single-Selection.
 2003 Prentice Hall, Inc. All rights reserved. 1 Outline 4.1 Introduction 4.2 Algorithms 4.3 Pseudocode 4.4 Control Structures 4.5 if Single-Selection.
 2003 Prentice Hall, Inc. All rights reserved. 1 Chapter 5 – Control Structures: Part 2 Outline 5.1 Introduction 5.2 Essentials of Counter-Controlled.
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 4 - Program Control Outline 4.1Introduction 4.2The Essentials of Repetition 4.3Counter-Controlled.
Control Structures - Selections - Repetitions/iterations (part 2) 1 -Based on slides from Deitel & Associates, Inc. - Revised by T. A. Yang.
 2000 Deitel & Associates, Inc. All rights reserved. Chapter 10 - JavaScript/JScript: Control Structures II Outline 10.1Introduction 10.2Essentials of.
Java™ How to Program, Early Objects Version, 8/e © by Pearson Education, Inc. All Rights Reserved.
Sections 5.1 – 5.4 © Copyright by Pearson Education, Inc. All Rights Reserved.
Sections © Copyright by Pearson Education, Inc. All Rights Reserved.
 2001 Prentice Hall, Inc. All rights reserved. 1 Chapter 5 – Control Structures: Part 2 Outline 5.1 Introduction 5.2 Essentials of Counter-Controlled.
 2003 Prentice Hall, Inc. All rights reserved. 1 Chapter 5 – Control Structures: Part 2 Outline 5.1 Introduction 5.2 Essentials of Counter-Controlled.
 2002 Prentice Hall. All rights reserved. 1 Chapter 5 – Control Structures: Part 2 Outline 5.1 Introduction 5.2 Essentials of Counter-Controlled Repetition.
2/25: the switch selection structure looking at Interest.java –NumberFormat –Locale –JTextArea –use of postincrement –Math.pow( rate, year ) switch.
Essentials of Counter-Controlled Repetition Counter-controlled repetition requires: Control variable (loop counter) Initial value of the control variable.
5.1 Introduction Problem Solving –Requires understanding of: Building blocks Program-construction principles BZUPAGES.COM.
LECTURE # 8 : REPETITION STATEMENTS By Mr. Ali Edan.
 2002 Prentice Hall. All rights reserved. 1 Chapter 5 – Control Structures: Part 2 Outline 5.1Introduction 5.2 Essentials of Counter-Controlled Repetition.
 2006 Pearson Education, Inc. All rights reserved Control Statements: Part 2.
 2001 Prentice Hall, Inc. All rights reserved. 1 Chapter 9 - JavaScript: Control Structures II Outline 9.1 Introduction 9.2 Essentials of Counter-Controlled.
 2005 Pearson Education, Inc. All rights reserved Control Statements: Part 2.
 2007 Pearson Education, Inc. All rights reserved Control Statements: Part2.
C Program Control September 15, OBJECTIVES The essentials of counter-controlled repetition. To use the for and do...while repetition statements.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
Chapter 4 – C Program Control
Chapter 5- Control Structures: Part 2
Control Statements: Part 2
MSIS 655 Advanced Business Applications Programming
Chapter 8 JavaScript: Control Statements, Part 2
Advanced Programming Chapters 5 & 6: Control Structures
Chapter 6 Control Statements: Part 2
Chapter 5 – Control Structures: Part 2
Chapter 5 – Control Structures: Part 2
Chapter 5 – Control Structures: Part 2
Control Statements:.
Presentation transcript:

 2003 Prentice Hall, Inc. All rights reserved. 1 Chapter 5 – Control Structures: Part 2 Outline 5.1 Introduction 5.2 Essentials of Counter-Controlled Repetition 5.3 for Repetition Statement 5.4 Examples Using the for Statement 5.5 do…while Repetition Statement 5.6 switch Multiple-Selection Statement 5.7 break and continue Statements 5.8 Labeled break and continue Statements 5.9 Logical Operators 5.10 Structured Programming Summary 5.11 (Optional Case Study) Thinking About Objects: Identifying Objects’ States and Activities

 2003 Prentice Hall, Inc. All rights reserved Introduction Continue structured-programming discussion –Introduce Java’s remaining control structures

 2003 Prentice Hall, Inc. All rights reserved Essentials of Counter-Controlled Repetition Counter-controlled repetition requires: –Control variable (loop counter) –Initial value of the control variable –Increment/decrement of control variable through each loop –Condition that tests for the final value of the control variable

 2003 Prentice Hall, Inc. All rights reserved for Repetition Statement Handles counter-controlled-repetition details

 2003 Prentice Hall, Inc. All rights reserved. 5 Fig. 5.3 for statement header components. for ( int counter = 1; counter <= 10; counter++ ) Increment of control variable Control variable Final value of control variable for which the condition is true for keyword Loop-continuation condition Initial value of control variable Required semicolon separator

 2003 Prentice Hall, Inc. All rights reserved for Repetition Structure (cont.) for ( initialization ; loopContinuationCondition ; increment ) statement ; can usually be rewritten as: initialization ; while ( loopContinuationCondition ) { statement ; increment ; }

 2003 Prentice Hall, Inc. All rights reserved. 7 Fig. 5.4 for statement activity diagram. [ counter <= 10 ] [ counter > 10 ] int counter = 1 counter++ Determine whether the final value of control variable has been reached g.drawLine( 10, 10, 250, counter * 10 ); Establish initial value of control variable Draw a line on the applet Increment the control variable

 2003 Prentice Hall, Inc. All rights reserved Examples Using the for Statement Varying control variable in for statement –Vary control variable from 1 to 100 in increments of 1 for ( int i = 1; i <= 100; i++ ) –Vary control variable from 100 to 1 in increments of –1 for ( int i = 100; i >= 1; i-- ) –Vary control variable from 7 to 77 in increments of 7 for ( int i = 7; i <= 77; i += 7 )

 2003 Prentice Hall, Inc. All rights reserved. Outline 9 Sum.java Line 12 1 // Fig. 5.5: Sum.java 2 // Summing integers with the for statement. 3 import javax.swing.JOptionPane; 4 5 public class Sum { 6 7 public static void main( String args[] ) 8 { 9 int total = 0; // initialize sum // total even integers from 2 through for ( int number = 2; number <= 100; number += 2 ) 13 total += number; // display results 16 JOptionPane.showMessageDialog( null, "The sum is " + total, 17 "Total Even Integers from 2 to 100", 18 JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); // terminate application } // end main } // end class Sum increment number by 2 each iteration

 2003 Prentice Hall, Inc. All rights reserved. Outline 10 Interest.java Lines Line 18 Line 19 1 // Fig. 5.6: Interest.java 2 // Calculating compound interest. 3 import java.text.NumberFormat; // class for numeric formatting 4 import java.util.Locale; // class for country-specific information 5 6 import javax.swing.JOptionPane; 7 import javax.swing.JTextArea; 8 9 public class Interest { public static void main( String args[] ) 12 { 13 double amount; // amount on deposit at end of each year 14 double principal = ; // initial amount before interest 15 double rate = 0.05; // interest rate // create NumberFormat for currency in US dollar format 18 NumberFormat moneyFormat = 19 NumberFormat.getCurrencyInstance( Locale.US ); // create JTextArea to display output 22 JTextArea outputTextArea = new JTextArea(); // set first line of text in outputTextArea 25 outputTextArea.setText( "Year\tAmount on deposit\n" ); 26 Java treats floating-points as type double NumberFormat can format numeric values as currency Display currency values with dollar sign ($)

 2003 Prentice Hall, Inc. All rights reserved. Outline 11 Interest.java Lines // calculate amount on deposit for each of ten years 28 for ( int year = 1; year <= 10; year++ ) { // calculate new amount for specified year 31 amount = principal * Math.pow( rate, year ); // append one line of text to outputTextArea 34 outputTextArea.append( year + "\t" + 35 moneyFormat.format( amount ) + "\n" ); } // end for // display results 40 JOptionPane.showMessageDialog( null, outputTextArea, 41 "Compound Interest", JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); // terminate the application } // end main } // end class Interest Calculate amount with for statement

 2003 Prentice Hall, Inc. All rights reserved do…while Repetition Statement do…while structure –Similar to while structure –Tests loop-continuation after performing body of loop i.e., loop body always executes at least once

 2003 Prentice Hall, Inc. All rights reserved. 13 Fig. 5.8 do…while repetition statement activity diagram. action state [true] [false] condition

 2003 Prentice Hall, Inc. All rights reserved switch Multiple-Selection Statement switch statement –Used for multiple selections

 2003 Prentice Hall, Inc. All rights reserved. 15 Fig switch multiple-selection statement activity diagram with break statements. case a action(s) break default action(s) [ true ] case b action(s) break case z action(s) break [ false ] case a [ true ] case b case z [ false ]

 2003 Prentice Hall, Inc. All rights reserved break and continue Statements break/continue –Alter flow of control break statement –Causes immediate exit from control structure Used in while, for, do…while or switch statements continue statement –Skips remaining statements in loop body –Proceeds to next iteration Used in while, for or do…while statements

 2003 Prentice Hall, Inc. All rights reserved. Outline 17 BreakTest.java Line 12 Lines // Fig. 5.11: BreakTest.java 2 // Terminating a loop with break. 3 import javax.swing.JOptionPane; 4 5 public class BreakTest { 6 7 public static void main( String args[] ) 8 { 9 String output = ""; 10 int count; for ( count = 1; count <= 10; count++ ) { // loop 10 times if ( count == 5 ) // if count is 5, 15 break; // terminate loop output += count + " "; } // end for output += "\nBroke out of loop at count = " + count; 22 JOptionPane.showMessageDialog( null, output ); System.exit( 0 ); // terminate application } // end main } // end class BreakTest Loop 10 times exit for structure ( break ) when count equals 5

 2003 Prentice Hall, Inc. All rights reserved. Outline 18 ContinueTest.ja va Line 11 Lines // Fig. 5.12: ContinueTest.java 2 // Continuing with the next iteration of a loop. 3 import javax.swing.JOptionPane; 4 5 public class ContinueTest { 6 7 public static void main( String args[] ) 8 { 9 String output = ""; for ( int count = 1; count <= 10; count++ ) { // loop 10 times if ( count == 5 ) // if count is 5, 14 continue; // skip remaining code in loop output += count + " "; } // end for output += "\nUsed continue to skip printing 5"; 21 JOptionPane.showMessageDialog( null, output ); System.exit( 0 ); // terminate application } // end main } // end class ContinueTest Loop 10 timesSkip line 16 and proceed to line 11 when count equals 5

 2003 Prentice Hall, Inc. All rights reserved Labeled break and continue Statements Labeled block –Set of statements enclosed by {} –Preceded by a label Labeled break statement –Exit from nested control structures –Proceeds to end of specified labeled block Labeled continue statement –Skips remaining statements in nested-loop body –Proceeds to beginning of specified labeled block

 2003 Prentice Hall, Inc. All rights reserved. Outline 20 BreakLabelTest. java Line 11 Line 14 Line 17 Lines // Fig. 5.13: BreakLabelTest.java 2 // Labeled break statement. 3 import javax.swing.JOptionPane; 4 5 public class BreakLabelTest { 6 7 public static void main( String args[] ) 8 { 9 String output = ""; stop: { // labeled block // count 10 rows 14 for ( int row = 1; row <= 10; row++ ) { // count 5 columns 17 for ( int column = 1; column <= 5 ; column++ ) { if ( row == 5 ) // if row is 5, 20 break stop; // jump to end of stop block output += "* "; } // end inner for output += "\n"; } // end outer for 29 Loop 10 times stop is the labeled block Exit to line 35 (next slide) Nested loop 5 times

 2003 Prentice Hall, Inc. All rights reserved. Outline 21 BreakLabelTest. java 30 // following line is skipped 31 output += "\nLoops terminated normally"; } // end labeled block JOptionPane.showMessageDialog( null, output, 36 "Testing break with a label", 37 JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); // terminate application } // end main } // end class BreakLabelTest

 2003 Prentice Hall, Inc. All rights reserved. Outline 22 ContinueLabelTe st.java Line 11 Line 14 Line 17 Lines // Fig. 5.14: ContinueLabelTest.java 2 // Labeled continue statement. 3 import javax.swing.JOptionPane; 4 5 public class ContinueLabelTest { 6 7 public static void main( String args[] ) 8 { 9 String output = ""; nextRow: // target label of continue statement // count 5 rows 14 for ( int row = 1; row <= 5; row++ ) { 15 output += "\n"; // count 10 columns per row 18 for ( int column = 1; column <= 10; column++ ) { // if column greater than row, start next row 21 if ( column > row ) 22 continue nextRow; // next iteration of labeled loop output += "* "; } // end inner for } // end outer for nextRow is the labeled blockLoop 5 timesNested loop 10 times continue to line 11 ( nextRow )

 2003 Prentice Hall, Inc. All rights reserved. Outline 23 ContinueLabelTe st.java JOptionPane.showMessageDialog( null, output, 31 "Testing continue with a label", 32 JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); // terminate application } // end main } // end class ContinueLabelTest

 2003 Prentice Hall, Inc. All rights reserved Logical Operators Logical operators –Allows for forming more complex conditions –Combines simple conditions Java logical operators –&& (conditional AND) –& (boolean logical AND) –|| (conditional OR) –| (boolean logical inclusive OR) –^ (boolean logical exclusive OR) –! (logical NOT)

 2003 Prentice Hall, Inc. All rights reserved. 25

 2003 Prentice Hall, Inc. All rights reserved. 26

 2003 Prentice Hall, Inc. All rights reserved. Outline 27 LogicalOperator s.java Lines Lines // Fig. 5.19: LogicalOperators.java 2 // Logical operators. 3 import javax.swing.*; 4 5 public class LogicalOperators 6 7 public static void main( String args[] ) 8 { 9 // create JTextArea to display results 10 JTextArea outputArea = new JTextArea( 17, 20 ); // attach JTextArea to a JScrollPane so user can scroll results 13 JScrollPane scroller = new JScrollPane( outputArea ); // create truth table for && (conditional AND) operator 16 String output = "Logical AND (&&)" + 17 "\nfalse && false: " + ( false && false ) + 18 "\nfalse && true: " + ( false && true ) + 19 "\ntrue && false: " + ( true && false ) + 20 "\ntrue && true: " + ( true && true ); // create truth table for || (conditional OR) operator 23 output += "\n\nLogical OR (||)" + 24 "\nfalse || false: " + ( false || false ) + 25 "\nfalse || true: " + ( false || true ) + 26 "\ntrue || false: " + ( true || false ) + 27 "\ntrue || true: " + ( true || true ); 28 Conditional AND truth tableConditional OR truth table

 2003 Prentice Hall, Inc. All rights reserved. Outline 28 LogicalOperator s.java Lines Lines Lines Lines // create truth table for & (boolean logical AND) operator 30 output += "\n\nBoolean logical AND (&)" + 31 "\nfalse & false: " + ( false & false ) + 32 "\nfalse & true: " + ( false & true ) + 33 "\ntrue & false: " + ( true & false ) + 34 "\ntrue & true: " + ( true & true ); // create truth table for | (boolean logical inclusive OR) operator 37 output += "\n\nBoolean logical inclusive OR (|)" + 38 "\nfalse | false: " + ( false | false ) + 39 "\nfalse | true: " + ( false | true ) + 40 "\ntrue | false: " + ( true | false ) + 41 "\ntrue | true: " + ( true | true ); // create truth table for ^ (boolean logical exclusive OR) operator 44 output += "\n\nBoolean logical exclusive OR (^)" + 45 "\nfalse ^ false: " + ( false ^ false ) + 46 "\nfalse ^ true: " + ( false ^ true ) + 47 "\ntrue ^ false: " + ( true ^ false ) + 48 "\ntrue ^ true: " + ( true ^ true ); // create truth table for ! (logical negation) operator 51 output += "\n\nLogical NOT (!)" + 52 "\n!false: " + ( !false ) + 53 "\n!true: " + ( !true ); outputArea.setText( output ); // place results in JTextArea 56 Logical NOT truth table Boolean logical exclusive OR truth table Boolean logical inclusive OR truth table Boolean logical AND truth table

 2003 Prentice Hall, Inc. All rights reserved. Outline 29 LogicalOperator s.java 57 JOptionPane.showMessageDialog( null, scroller, 58 "Truth Tables", JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); // terminate application } // end main } // end class LogicalOperators

 2003 Prentice Hall, Inc. All rights reserved. 30

 2003 Prentice Hall, Inc. All rights reserved Structured Programming Summary Sequence structure –“built-in” to Java Selection structure –if, if…else and switch Repetition structure –while, do…while and for