# Iteration CHAPTER 6. Topic Summary

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 CHAPTER 6 Iteration TOPIC OUTLINE 6.1 while Loops 6.2 for Loops 6.3 Nested Loops 6.4 Off-by-1 Errors 6.5 Random Numbers and Simulations 6.6 Loop Invariants (AB only) Topic Summary 6.1 while Loops Many applications require us to execute statements (or blocks of statements) multiple times. For example, averaging grades for all of the students in a particular course, printing a calendar of twelve months, processing a payroll for many employees, and any number of other applications involve doing the same task more than once. One way to implement this type of algorithm is to use a while loop. The general form of a while loop is while (condition) statement; Example 6.1 uses a while loop to sum the positive integers less than 10. Example 6.1 int sum = 0; int x = 1; // Initializes loop control variable x. while (x < 10) // Checks end condition. sum += x; 73

2 74 Computing Concepts with Java Essentials Advanced Placement CS Study Guide x++; // Loop control variable updated. // At the termination of the loop, x has value 10. The three important pieces of a loop are initializing the loop control variable, testing for the end condition, and advancing the value of the loop control variable so that its value approaches the end condition. If you don t change the variable value within the loop, you create an endless loop. Example 6.2 int sum = 0; int i = 1; while (i < 10) sum += i; // Infinite loop // WRONG! i is not incremented. Example 6.2 will add i to sum repeatedly but, because the value of i starts at 1 and never changes, i is always less than 10. The end condition of the loop is never satisfied. This is called an infinite loop. Common Error 6.1 discusses infinite loop errors. Example 6.3 is designed to accept non-negative integers (points scored in basketball games) and return the sum of those points. The user must enter a negative value to end input. Example 6.3 public static int getsum() int total = 0; int points; System.out.println("Enter game points, enter a negative number to quit."); points = number input by user; while (points >= 0) total += points; System.out.println("Enter game points, enter a negative number to quit."); points = number input by user; return total; An alternate method for accomplishing this same task using a type of infinite while loop implementation is called a loop and a half and is discussed in Advanced Topic 6.4 in your text. 6.2 for Loops Another method for iterative control is a for loop. If you know exactly how many times a block is to be executed, a for loop is often the best choice. The general form of a for loop is

3 Chapter 6 Iteration 75 for (initialization; test; update) statement; Examples 6.4 and 6.5 add the integers 1 to 10 inclusive. The order in which the integers are added is different but the result is the same. Example 6.4 Example 6.5 sum = 0; for (int i = 1; i <= 10; i++) sum += i; // At the termination of this loop, i has value 11. sum = 0; for (int i = 10; i >= 1; i--) sum += i; // At the termination of this loop, i has value 0. The loop control variable, i, is initialized. The loop continues while the test is true. The variable i is updated (incremented or decremented) by 1 each time the loop executes. Example 6.6 gives the equivalent while loop for Example 6.5 Example 6.6 sum = 0; int i = 10; while (i >= 1) sum += i; i = i - 1; The initialization, the test, and the update in the for header should be related (see Example 6.7). The code to update the loop control variable should occur in the for header only, not in the body of the loop (see Example 6.8). Example 6.7 int j = 1; int k = 8; for (int i = 0; j <= 10; k = k + 2) j += 2; i = i + 1; // BAD STYLE! // Variables are not related.

4 76 Computing Concepts with Java Essentials Advanced Placement CS Study Guide Example 6.8 System.out.println(i + " " + j + " " + k); for (int i = 0; i <= 10; i++) sum += i; i = i + 1; // WRONG! Update should occur only in for header. It is common to see the loop control variable declared in the header as it is initialized. for (int i = 1; i <= 10; i++) Statement; A variable declared in this manner cannot be accessed outside the loop. We say that the scope of the variable extends to the end of the loop. This is explained in Advanced Topic 6.2 in your text. A for loop should be used when a statement, or group of statements, is to be executed a known number of times. Quality Tip 6.1 discusses this. Use a for loop for its intended purpose only. 6.3 Nested Loops Loops can be nested (one loop inside another loop). One typical application of a nested loop is printing a table with rows and columns. Example 6.9 final int MAXROW = 5; final int MAXCOL = 4; for (int row = 1; row <= MAXROW; row++) for (int col = 1; col <= MAXCOL; col++) System.out.print("*"); System.out.println(); This program prints: **** **** **** **** ****

5 Chapter 6 Iteration Off-by-1 Errors It is common to have off-by-1 errors when writing while loops and for loops. Consider the following problem. Problem Count the number of times the letter a occurs in the word mathematics. Solution Outline Loop through each letter of mathematics. Each time an a is encountered, increment a counter. Examples 6.10 and 6.11 illustrate two correct solutions. Example 6.10 Example 6.11 String word = "mathematics"; int count = 0; String lookfor = "a"; for (int i = 0; i < word.length(); i++) if (word.substring(i, i + 1).equals(lookFor)) count++; String word = "mathematics"; int count = 0; String lookfor = "a"; int j = 0; // Init to 0 while (j < word.length()) // Note: < not <= String temp = word.substring(j, j + 1); if (lookfor.indexof(temp)!= -1) count++; j++; // Increment outside if Possible Off-by-1 Errors The loop variable should start at 0, not 1, because the index of the first letter in a String is 0. The loop test should be < word.length() not <= word.length() because the last letter in a String has index length() - 1. The variable used as the counter should be initialized to 0, not 1. Off-by-1 errors are discussed in HOWTO 6.1 in your text.

6 78 Computing Concepts with Java Essentials Advanced Placement CS Study Guide 6.5 Random Numbers and Simulations Random number generators are useful in programs that simulate events. The Java library s Random class implements a random number generator. This random number generator can produce random integers and random floating-point (double) numbers. The AP testable subset includes the java.util.random methods listed in Table 6.1. Table 6.1 class java.util.random Method int nextint(n) Method Summary Returns a random integer in the range from 0 to n - 1 inclusive. double nextdouble() Returns a random floating-point number between 0 (inclusive) and 1 (exclusive). Example 6.12 demonstrates basic calls to the methods of the Random class. Example 6.12 Random generator = new Random(); // Constructs the number generator. int randint = generator.nextint(10); // Generates a random integer from 0-9 inclusive. double randdouble = generator.nextdouble(); // Generates a random double from 0(inclusive) to 1(exclusive). When writing programs that include random numbers, keep in mind that two Random objects created within the same millisecond will have the same sequence of random numbers. For example, if the following declarations are executed in the same millisecond, Random generator1 = new Random(); Random generator2 = new Random(); generator1 and generator2 will generate the same sequence of random numbers. It is a better idea to share a single random number generator in the entire program. We rarely want to generate identical sequences of random numbers! Example 6.13 uses the Random class to simulate rolling two 6-sided dice until doubles are rolled (the same number appears on both dice). The variable count counts the number of rolls it takes to roll doubles. Example 6.13 Random die = new Random(); int count = 1; while (die.nextint(6)!= die.nextint(6))

7 Chapter 6 Iteration 79 count++; // count is the number of rolls it takes to roll doubles. System.out.println("Doubles were rolled on roll #" + count); 6.6 Loop Invariants (AB only) A loop invariant is a statement that is true before a loop executes, at the start of each iteration of the loop, and after the loop terminates. Loop invariants can be used to help explain algorithms that are not completely obvious. They are also statements that can be used for proving the correctness of loops. Correctness proofs, though not part of the AP CS subset, are discussed in Random Fact 6.2 of your text. Example 6.14 This segment of code is intended to count the number of letters in word that are vowels (a, e, i, o, or u). String vowel = "aeiou"; String word = some String; int count = 0; // loop invariant: count = number of vowels in word.substring(0, i) for (int i = 0; i < word.length(); i++) if (vowel.indexof(word.substring(i, i + 1) >= 0) count++; The for loop visits each letter of word. If the letter is a vowel, indexof returns a value between 0 and 4 and count is incremented. After each execution of the loop, count is the number of vowels in the substring looked at so far. The loop invariant is true before the loop executes, after each iteration of the loop, and after the loop terminates. After the loop terminates, count is the number of vowels (a, e, i, o, u) in word. A more detailed example of a loop invariant is discussed in Advanced Topic 6.8 in your text. Topics That Are Useful But Not Tested It is often useful to read test data from a file instead of typing it for each execution of a program. You can then create a test data file once and reuse it. Reading data from a file is discussed in Productivity Hint 6.1 in your text. Sometimes an input line may contain several items of input data. The StringTokenizer class can be used to break the input line into separate strings. This is discussed in Section of your text. It is sometimes useful to traverse the characters in a string using the charat method of the String class. This method uses the primitive type char which is not tested on the AP CS Exams.

8 80 Computing Concepts with Java Essentials Advanced Placement CS Study Guide Sometimes you may want to execute the body of a loop at least once and perform the loop test at the end of the loop. A do loop serves this purpose and is explained in Advanced Topic 6.1 in your text. Things to Remember When Taking the AP Exam When implementing a while loop be sure to initialize the loop control variable before the loop begins and to advance the variable s value inside the loop. Be careful not to put a semicolon after a for loop header or a while statement. for (i = 1; i < 10; i++); // WRONG! while (i < 10); // WRONG! Be sure to use braces where needed for the body of a loop. If in doubt, use the braces. Check the initialization and the test condition in your loops. It is common to have an off-by-1 error when writing loops. Be careful when implementing tables with nested loops. The outer loop controls the rows of the table and the inner loop controls the columns. (AB only) Know the definition of a loop invariant. You may be asked to choose the correct loop invariant on a multiple-choice question. Key Words You should understand the terms below. The AP CS Exam questions may include references to these terms. The citations in parentheses next to each term identify the page numbers where it is defined and/or discussed in Computing Concepts with Java Essentials, 3rd ed., and Big Java. file (253) for loops (236) infinite loops (231) loop invariants (267) (AB only) nested loops (244) random number generator (262) random numbers (262) simulation (262) variable scope (241) while (228) Connecting the Detailed Topic Outline to the Text The citations in parentheses identify where information in the outline can be located in Computing Concepts with Java Essentials, 3rd ed., and Big Java. while Loops ( ) for Loops ( ) Nested Loops ( ) Off-by-1 Errors ( )

9 Chapter 6 Iteration 81 Random Numbers and Simulations ( ) Loop Invariants (AB only) ( ) Practice Questions Multiple Choice 1. Consider the following segment of code. String word = "mathematics"; String vowels = "aeiou"; String tempword = ""; String newword = ""; for (int i = 0; i < word.length(); i++) tempword = word.substring(i, i + 1); if (vowels.indexof(tempword) >= 0) newword += tempword; After the loop is terminated, what is the value of newword? a. mathematics b. mthmtcs c. aeai d. aei e. the empty string 2. Consider the Die class as defined below. public class Die // Constructs an s-sided die. public Die(int s)... // Simulates a throw of the die, returning a random integer from // 1 to s (the number of sides) inclusive. public int cast()... // Private stuff goes here The following declaration is made. Die d1 = new Die(6);

10 82 Computing Concepts with Java Essentials Advanced Placement CS Study Guide Which segment of code returns the number of rolls it takes to roll double 1s (both dice have the value 1)? I. count = 1; while (!(d1.cast() == 1 && d1.cast() == 1)) count++; return count; // Double 1s rolled on roll #count. II. count = 1; while (true) if (d1.cast() == 1 && d1.cast() == 1) return count; count++; // Double 1s rolled on roll #count. III. count = 1; while (d1.cast()!= 1 d1.cast()!= 1) count++; return count; // Double 1s rolled on roll #count. a. I b. II c. III d. II and III only e. I, II, and III 3. Consider the following code segment. for (int i = 0; i < 5; i++) for (int j = 0; j < 5; j++) System.out.print(i * j % 5); System.out.println(); What is the output produced? a

11 Chapter 6 Iteration 83 b c d e The following triangle design is to be printed Which of the following code segments correctly prints this design? I. for (int i = 4; i >= 1; i--) for (int j = 4 - i + 1; j >= 1; j--) System.out.print(i); System.out.println(); II. for (int i = 1; i <= 4; i++) for (int j = 1; j <= i; j++) System.out.print(4 - i + 1); System.out.println();

12 84 Computing Concepts with Java Essentials Advanced Placement CS Study Guide III. for (int i = 1; i <= 4; i++) for (int j = 4; j >= 4 - i + 1; j--) System.out.print(4 - i + 1); System.out.println(); a. I only b. II only c. III only d. I and II only e. I, II, and III 5. Consider the following code segment. int n = some integer value; int a = 0 ; while (n > 0) a += n % 10; n /= 10; System.out.println("answer is :" + a); Which of the following statements best describes the result of executing this code? a. 0 is printed. b. The number of digits in n is printed. c. The sum of the digits in n is printed. d. The original value of n is printed. e. An endless loop results. 6. Consider the code segment below. String word = "computer"; String tempword = ""; for (int i = word.length() - 1; i >= 0; i--) tempword = word.substring(i, i + 1) + tempword; System.out.println(tempWord); What will be printed when the code is executed? a. computer b. retupmoc c. erteutpumpomco d. Nothing will be printed. tempword is an empty String. e. An error message.

13 Chapter 6 Iteration Consider the following code segment in which IO.readInt() is a call to a method that reads an integer. String tempsequence = ""; int x = IO.readInt(); int y = IO.readInt(); while (y >= x) tempsequence += x; x = y; y = IO.readInt(); tempsequence += x; System.out.println(tempSequence); What is the output if the series of integers being input is: ? a b c d e Consider the following code segment where IO.readWord()is a call to a method that reads a String. String word = IO.readWord(); for (int i = 0; i < word.length() - 1; i++) if (word.substring(i, i + 1).equals(word.substring( i + 1, i + 2))) return true; return false; Which of the following describes its results? a. Returns true if any letter in word is repeated, false otherwise. b. Returns true if the first and second letters are the same, false otherwise. c. Returns true if any two consecutive letters are the same, false otherwise. d. Always returns true. e. Always returns false. 9. Given the following declarations: String vowel = "aeiou"; String word = some String value; int count = 0;

14 86 Computing Concepts with Java Essentials Advanced Placement CS Study Guide Which of the following segments of code accurately counts the number of letters in word that are vowels (a, e, i, o, or u)? I. for (int j = 0; j < vowel.length(); j++) String temp = vowel.substring(j, j + 1); if (word.indexof(temp)!= -1) count++; II. III. for (int j = 0; j < word.length(); j++) String temp = word.substring(j, j + 1); if (vowel.indexof(temp)!= -1) count++; for (int i = 0; i < word.length(); i++) for (int k = 0; k < vowel.length(); k++) if (word.substring(i,i + 1).equals(vowel.substring( k, k + 1))) count++; a. I only b. II only c. III only d. I and III only e. II and III only 10. Consider the following code segment. int p = 1; int i = 1; int n = some positive integer value; // loop invariant while (i <= n) p = p * i; i++; Which of the following statements is a correct loop invariant?

15 Chapter 6 Iteration 87 a. i < n b. 0 < i < n c. p = i! d. p = (i 1)! e. p = n i 11. Consider the following code segment. for (int i = 0; i < 5; i++) for (int j = i; j < 5; j++) System.out.print("*"); How many stars will be printed? a. 5 b. 10 c. 15 d. 20 e Consider the following code segment. int count = 0; for (int x = 0; x < 3; x++) for (int y = x; y < 3; y++) for (int z = y; z < 3; z++) count++; What is the value of count after the code segment is executed? a. 81 b. 27 c. 10 d. 9 e Each segment of code below correctly calculates the sum of the integers from 1 to n inclusive and stores this value in the integer variable sum. I. int sum = 0; for (int i = 1; i <= n; i++) sum += i; II. int sum = 0; int i = n; while (i > 0) sum += i; i--; III. int sum = (n + 1) * n / 2;

16 88 Computing Concepts with Java Essentials Advanced Placement CS Study Guide For large values of n, which of the following statements is true about the execution efficiency of the above code segments? a. I is more efficient than II and III because it sums the numbers in increasing numeric order. b. II is more efficient than I and III because it sums the numbers beginning with the largest value. c. III is more efficient than I and II because there are fewer operations. d. I and II are more efficient than III because they are easier to understand. e. I, II, and III always operate with the same execution efficiency. Questions 14 and 15 refer to the following code segment. int n = some integer value; int x = 0; while (n > 0) n = n / 2; x++; 14. If n refers to the original integer value, which of the following statements is always true after the loop is terminated? a. 2 x 1 = n b. 2 x n c. 2 x n d. 2 x = n e. 2 n = x 15. If n has the value of 32 before the loop is executed, how many times is the statement executed? x++; a. 2 b. 5 c. 6 d. 8 e. 16 Free Response Questions 1. Consider the Investment class, whose incomplete definition is shown below. public class Investment // Constructs an Investment object from a starting balance and

17 Chapter 6 Iteration 89 // interest rate. public Investment(double abalance, double arate) balance = abalance; rate = arate; years = 0; // Interest is calculated and added to balance at the end of // each year for y years. public void waitforyears(int y) // Code goes here // Returns the current investment balance. public double getbalance()... // Returns the number of years this investment has accumulated // interest. public int getyears()... // Calculates the amount of interest earned in y years // compounded n times per year at an annual interest rate, rate. // balance is updated. public void compoundtheinterest(int y, int n) // Other methods here private double balance; private double rate; private int years; a. Write the method waitforyears for the Investment class that will calculate the amount of interest earned in a given number of years. Interest is accumulated and the balance is updated at the end of each year. The table below contains sample data values and appropriate updates. Starting Balance Interest Rate Years (y) Ending Balance % % % Implement the method waitforyears using the following header. public void waitforyears(int y) b. Write the method compoundtheinterest for the Investment class that will calculate the amount of interest earned in y years compounded n times per year at an annual interest rate of r%.

19 Chapter 6 Iteration 91 Incomplete definitions of these classes are below. // The Spinner class is used to simulate the spin. public class Spinner // Constructs a spinner with s choices. public Spinner(int s)... // Returns an integer from 0 to the number of choices - 1 // inclusive. public int spin()... // Private stuff here public class Coin // Constructs a coin. // avalue the monetary value of the coin // aname the name of the coin public Coin(double avalue, String aname)... // Returns the coin value. public double getvalue()... // Returns the coin name. public String getname()... // Other methods and private stuff here public class Purse // Constructs an empty purse. public Purse()... // Adds a coin to the purse. public void add(coin acoin)... // Removes a coin from the purse. public Coin removecoin()... // Returns the total value of the coins in the purse. public double gettotal()... // Returns the number of coins in the purse. public int coincount()... // Other methods and private stuff goes here

20 92 Computing Concepts with Java Essentials Advanced Placement CS Study Guide public class Game // Game constructor // Creates the roulette wheel by constructing the // appropriate Spinner. public Game(Purse mypurse) // Code goes here // Simulates a spin returning a 0, 2, or 3 as defined by the // roulette wheel pictured in the problem. public int spinthewheel() // Code goes here // Simulates the game of roulette as follows: // Until the purse total is twice its original value // or there are no coins left in the purse, // removes a coin from the purse, and // updates the number of coins in purse according to the // winnings. // Returns the total value in the purse. public double playroulette(purse mypurse) // Code goes here private Spinner mywheel; a. Write the Game constructor. This constructor should construct a Spinner that will be able to appropriately simulate the wheel shown in the problem description above. Notice that all outcomes on the wheel do not have equal probabilities. b. Write the method spinthewheel that will call spin to generate a random number and then return the appropriate number on the roulette wheel. Notice that all outcomes on the wheel do not have equal probabilities. Use the header below when writing spinthewheel. public int spinthewheel() c. Write the method playroulette that will bet (remove a coin from the purse), spin the roulette wheel, and accumulate appropriate winnings by adding coins to the purse until the player either wins big (doubles the original purse value) or loses big (has no coins left in the purse). Write playroulette using the method header below. public double playroulette(purse mypurse)

### D06 PROGRAMMING with JAVA

Cicles Formatius de Grau Superior Desenvolupament d Aplicacions Informàtiques D06 PROGRAMMING with JAVA Ch7 Iteration PowerPoint presentation, created by Angel A. Juan - ajuanp(@)gmail.com, for accompanying

### CS170 Lab 11 Abstract Data Types & Objects

CS170 Lab 11 Abstract Data Types & Objects Introduction: Abstract Data Type (ADT) An abstract data type is commonly known as a class of objects An abstract data type in a program is used to represent (the

### LOOPS CHAPTER CHAPTER GOALS

jfe_ch04_7.fm Page 139 Friday, May 8, 2009 2:45 PM LOOPS CHAPTER 4 CHAPTER GOALS To learn about while, for, and do loops To become familiar with common loop algorithms To understand nested loops To implement

### Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game

Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Directions: In mobile Applications the Control Model View model works to divide the work within an application.

### CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013

Oct 4, 2013, p 1 Name: CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 1. (max 18) 4. (max 16) 2. (max 12) 5. (max 12) 3. (max 24) 6. (max 18) Total: (max 100)

### Sample CSE8A midterm Multiple Choice (circle one)

Sample midterm Multiple Choice (circle one) (2 pts) Evaluate the following Boolean expressions and indicate whether short-circuiting happened during evaluation: Assume variables with the following names

### Computer Programming I

Computer Programming I COP 2210 Syllabus Spring Semester 2012 Instructor: Greg Shaw Office: ECS 313 (Engineering and Computer Science Bldg) Office Hours: Tuesday: 2:50 4:50, 7:45 8:30 Thursday: 2:50 4:50,

### Moving from CS 61A Scheme to CS 61B Java

Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you

### Unit 6. Loop statements

Unit 6 Loop statements Summary Repetition of statements The while statement Input loop Loop schemes The for statement The do statement Nested loops Flow control statements 6.1 Statements in Java Till now

### AP Computer Science Java Subset

APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall

### Java iteration statements

Java iteration statements Iteration statements are statements which appear in the source code only once, but it execute many times. Such kind of statements are called loops. Almost all the programming

### Chapter 2: Elements of Java

Chapter 2: Elements of Java Basic components of a Java program Primitive data types Arithmetic expressions Type casting. The String type (introduction) Basic I/O statements Importing packages. 1 Introduction

### J a v a Quiz (Unit 3, Test 0 Practice)

Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2 points

### VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0

VISUAL GUIDE to RX Scripting for Roulette Xtreme - System Designer 2.0 UX Software - 2009 TABLE OF CONTENTS INTRODUCTION... ii What is this book about?... iii How to use this book... iii Time to start...

### Building Java Programs

Building Java Programs Chapter 5 Lecture 5-2: Random Numbers reading: 5.1-5.2 self-check: #8-17 exercises: #3-6, 10, 12 videos: Ch. 5 #1-2 1 The Random class A Random object generates pseudo-random* numbers.

### Conditionals (with solutions)

Conditionals (with solutions) For exercises 1 to 27, indicate the output that will be produced. Assume the following declarations: final int MAX = 25, LIMIT = 100; int num1 = 12, num2 = 25, num3 = 87;

### Example of a Java program

Example of a Java program class SomeNumbers static int square (int x) return x*x; public static void main (String[] args) int n=20; if (args.length > 0) // change default n = Integer.parseInt(args[0]);

### Chapter 4 Lecture Notes

Chapter 4 Lecture Notes Random Variables October 27, 2015 1 Section 4.1 Random Variables A random variable is typically a real-valued function defined on the sample space of some experiment. For instance,

### Introduction to Computer Programming, Spring Term 2014 Practice Assignment 4 Discussion:

German University in Cairo Media Engineering and Technology Prof. Dr. Slim Abdennadher Dr. Ahmed Gamal Introduction to Computer Programming, Spring Term 2014 Practice Assignment 4 Discussion: 22.3.2014-27.3.2014

### System.out.println("\nEnter Product Number 1-5 (0 to stop and view summary) :

Benjamin Michael Java Homework 3 10/31/2012 1) Sales.java Code // Sales.java // Program calculates sales, based on an input of product // number and quantity sold import java.util.scanner; public class

### Understanding class definitions

OFWJ_C02.QXD 2/3/06 2:28 pm Page 17 CHAPTER 2 Understanding class definitions Main concepts discussed in this chapter: fields methods (accessor, mutator) constructors assignment and conditional statement

### Object Oriented Software Design

Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa September 14, 2011 G. Lipari (Scuola Superiore Sant Anna) Introduction

### What is a Loop? Pretest Loops in C++ Types of Loop Testing. Count-controlled loops. Loops can be...

What is a Loop? CSC Intermediate Programming Looping A loop is a repetition control structure It causes a single statement or a group of statements to be executed repeatedly It uses a condition to control

### Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A

Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A Developed By Brian Weinfeld Course Description: AP Computer

### Statistics 100A Homework 3 Solutions

Chapter Statistics 00A Homework Solutions Ryan Rosario. Two balls are chosen randomly from an urn containing 8 white, black, and orange balls. Suppose that we win \$ for each black ball selected and we

### Section 7C: The Law of Large Numbers

Section 7C: The Law of Large Numbers Example. You flip a coin 00 times. Suppose the coin is fair. How many times would you expect to get heads? tails? One would expect a fair coin to come up heads half

### QUIZ-II QUIZ-II. Chapter 5: Control Structures II (Repetition) Objectives. Objectives (cont d.) 20/11/2015. EEE 117 Computer Programming Fall-2015 1

QUIZ-II Write a program that mimics a calculator. The program should take as input two integers and the operation to be performed. It should then output the numbers, the operator, and the result. (For

### 5.2 Q2 The control variable of a counter-controlled loop should be declared as: a.int. b.float. c.double. d.any of the above. ANS: a. int.

Java How to Program, 5/e Test Item File 1 of 5 Chapter 5 Section 5.2 5.2 Q1 Counter-controlled repetition requires a.a control variable and initial value. b.a control variable increment (or decrement).

### Arrays. Introduction. Chapter 7

CH07 p375-436 1/30/07 1:02 PM Page 375 Chapter 7 Arrays Introduction The sequential nature of files severely limits the number of interesting things you can easily do with them.the algorithms we have examined

### 6.042/18.062J Mathematics for Computer Science. Expected Value I

6.42/8.62J Mathematics for Computer Science Srini Devadas and Eric Lehman May 3, 25 Lecture otes Expected Value I The expectation or expected value of a random variable is a single number that tells you

### Statements and Control Flow

Contents 1. Introduction 2. Types and Variables 3. Statements and Control Flow 4. Reading Input 5. Classes and Objects 6. Arrays 7. Methods 8. Scope and Lifetime 9. Utility classes 10. Introduction to

### Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language

Translation Translating to Java Introduction to Computer Programming The job of a programmer is to translate a problem description into a computer language. You need to be able to convert a problem description

### Visual Logic Instructions and Assignments

Visual Logic Instructions and Assignments Visual Logic can be installed from the CD that accompanies our textbook. It is a nifty tool for creating program flowcharts, but that is only half of the story.

### Betting systems: how not to lose your money gambling

Betting systems: how not to lose your money gambling G. Berkolaiko Department of Mathematics Texas A&M University 28 April 2007 / Mini Fair, Math Awareness Month 2007 Gambling and Games of Chance Simple

### This loop prints out the numbers from 1 through 10 on separate lines. How does it work? Output: 1 2 3 4 5 6 7 8 9 10

Java Loops & Methods The while loop Syntax: while ( condition is true ) { do these statements Just as it says, the statements execute while the condition is true. Once the condition becomes false, execution

### Random Fibonacci-type Sequences in Online Gambling

Random Fibonacci-type Sequences in Online Gambling Adam Biello, CJ Cacciatore, Logan Thomas Department of Mathematics CSUMS Advisor: Alfa Heryudono Department of Mathematics University of Massachusetts

### REWARD System For Even Money Bet in Roulette By Izak Matatya

REWARD System For Even Money Bet in Roulette By Izak Matatya By even money betting we mean betting on Red or Black, High or Low, Even or Odd, because they pay 1 to 1. With the exception of the green zeros,

### You are to simulate the process by making a record of the balls chosen, in the sequence in which they are chosen. Typical output for a run would be:

Lecture 7 Picking Balls From an Urn The problem: An urn has n (n = 10) balls numbered from 0 to 9 A ball is selected at random, its' is number noted, it is set aside, and another ball is selected from

### The overall size of these chance errors is measured by their RMS HALF THE NUMBER OF TOSSES NUMBER OF HEADS MINUS 0 400 800 1200 1600 NUMBER OF TOSSES

INTRODUCTION TO CHANCE VARIABILITY WHAT DOES THE LAW OF AVERAGES SAY? 4 coins were tossed 1600 times each, and the chance error number of heads half the number of tosses was plotted against the number

### COUNTING LOOPS AND ACCUMULATORS

COUNTING LOOPS AND ACCUMULATORS Two very important looping idioms are counting loops and accumulators. A counting loop uses a variable, called the loop control variable, to keep count of how many cycles

### Using Files as Input/Output in Java 5.0 Applications

Using Files as Input/Output in Java 5.0 Applications The goal of this module is to present enough information about files to allow you to write applications in Java that fetch their input from a file instead

### Java Basics: Data Types, Variables, and Loops

Java Basics: Data Types, Variables, and Loops If debugging is the process of removing software bugs, then programming must be the process of putting them in. - Edsger Dijkstra Plan for the Day Variables

### Chapter 5 Section 2 day 1 2014f.notebook. November 17, 2014. Honors Statistics

Chapter 5 Section 2 day 1 2014f.notebook November 17, 2014 Honors Statistics Monday November 17, 2014 1 1. Welcome to class Daily Agenda 2. Please find folder and take your seat. 3. Review Homework C5#3

### Probability: The Study of Randomness Randomness and Probability Models. IPS Chapters 4 Sections 4.1 4.2

Probability: The Study of Randomness Randomness and Probability Models IPS Chapters 4 Sections 4.1 4.2 Chapter 4 Overview Key Concepts Random Experiment/Process Sample Space Events Probability Models Probability

### AP Computer Science A 2015 Free-Response Questions

AP Computer Science A 2015 Free-Response Questions College Board, Advanced Placement Program, AP, AP Central, and the acorn logo are registered trademarks of the College Board. AP Central is the official

### We { can see that if U = 2, 3, 7, 11, or 12 then the round is decided on the first cast, U = V, and W if U = 7, 11 X = L if U = 2, 3, 12.

How to Play Craps: Craps is a dice game that is played at most casinos. We will describe here the most common rules of the game with the intention of understanding the game well enough to analyze the probability

### 9 Control Statements. 9.1 Introduction. 9.2 Objectives. 9.3 Statements

9 Control Statements 9.1 Introduction The normal flow of execution in a high level language is sequential, i.e., each statement is executed in the order of its appearance in the program. However, depending

### 1.3 Conditionals and Loops

A Foundation for Programming 1.3 Conditionals and Loops any program you might want to write objects functions and modules graphics, sound, and image I/O arrays conditionals and loops Math primitive data

### Part I:( Time: 90 minutes, 30 Points)

Qassim University Deanship of Educational Services Preparatory Year Program- Computer Science Unit Final Exam - 1434/1435 CSC111 Time: 2 Hours + 10 Minutes 1 MG Student name: Select the correct choice:

### MA 1125 Lecture 14 - Expected Values. Friday, February 28, 2014. Objectives: Introduce expected values.

MA 5 Lecture 4 - Expected Values Friday, February 2, 24. Objectives: Introduce expected values.. Means, Variances, and Standard Deviations of Probability Distributions Two classes ago, we computed the

### CSC 221: Computer Programming I. Fall 2011

CSC 221: Computer Programming I Fall 2011 Python control statements operator precedence importing modules random, math conditional execution: if, if-else, if-elif-else counter-driven repetition: for conditional

### Part I. Multiple Choice Questions (2 points each):

Part I. Multiple Choice Questions (2 points each): 1. Which of the following is NOT a key component of object oriented programming? (a) Inheritance (b) Encapsulation (c) Polymorphism (d) Parallelism ******

### Term Project: Roulette

Term Project: Roulette DCY Student January 13, 2006 1. Introduction The roulette is a popular gambling game found in all major casinos. In contrast to many other gambling games such as black jack, poker,

### Primitive Data Types Summer 2010 Margaret Reid-Miller

Primitive Data Types 15-110 Summer 2010 Margaret Reid-Miller Data Types Data stored in memory is a string of bits (0 or 1). What does 1000010 mean? 66? 'B'? 9.2E-44? How the computer interprets the string

### Computer Science III Advanced Placement G/T [AP Computer Science A] Syllabus

Computer Science III Advanced Placement G/T [AP Computer Science A] Syllabus Course Overview This course is a fast-paced advanced level course that focuses on the study of the fundamental principles associated

### Introduction to Java Lecture Notes. Ryan Dougherty redoughe@asu.edu

1 Introduction to Java Lecture Notes Ryan Dougherty redoughe@asu.edu Table of Contents 1 Versions....................................................................... 2 2 Introduction...................................................................

1 2 Introduction to Java Applications 2.2 First Program in Java: Printing a Line of Text 2 Application Executes when you use the java command to launch the Java Virtual Machine (JVM) Sample program Displays

### Chapter 2: Problem Solving Using C++

Chapter 2: Problem Solving Using C++ 1 Objectives In this chapter, you will learn about: Modular programs Programming style Data types Arithmetic operations Variables and declaration statements Common

### MIDTERM 1 REVIEW WRITING CODE POSSIBLE SOLUTION

MIDTERM 1 REVIEW WRITING CODE POSSIBLE SOLUTION 1. Write a loop that computes (No need to write a complete program) 100 1 99 2 98 3 97... 4 3 98 2 99 1 100 Note: this is not the only solution; double sum

### Basic Programming and PC Skills: Basic Programming and PC Skills:

Texas University Interscholastic League Contest Event: Computer Science The contest challenges high school students to gain an understanding of the significance of computation as well as the details of

### In this Chapter you ll learn:

Now go, write it before them in a table, and note it in a book. Isaiah 30:8 To go beyond is as wrong as to fall short. Confucius Begin at the beginning, and go on till you come to the end: then stop. Lewis

### MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) The JDK command to compile a class in the file Test.java is A) java Test.java B) java

### AP Computer Science Static Methods, Strings, User Input

AP Computer Science Static Methods, Strings, User Input Static Methods The Math class contains a special type of methods, called static methods. A static method DOES NOT operate on an object. This is because

### Chapter 16: law of averages

Chapter 16: law of averages Context................................................................... 2 Law of averages 3 Coin tossing experiment......................................................

### Maria Litvin Phillips Academy, Andover, Massachusetts. Gary Litvin Skylight Publishing, Andover, Massachusetts

Be Prepared for the Sixth Edition Computer Science Exam in Java Maria Litvin Phillips Academy, Andover, Massachusetts Gary Litvin Skylight Publishing, Andover, Massachusetts Skylight Publishing Andover,

### CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions

CS 2112 Spring 2014 Assignment 3 Data Structures and Web Filtering Due: March 4, 2014 11:59 PM Implementing spam blacklists and web filters requires matching candidate domain names and URLs very rapidly

### Reading Input From A File

Reading Input From A File In addition to reading in values from the keyboard, the Scanner class also allows us to read in numeric values from a file. 1. Create and save a text file (.txt or.dat extension)

### Solutions: Problems for Chapter 3. Solutions: Problems for Chapter 3

Problem A: You are dealt five cards from a standard deck. Are you more likely to be dealt two pairs or three of a kind? experiment: choose 5 cards at random from a standard deck Ω = {5-combinations of

### Law of Large Numbers. Alexandra Barbato and Craig O Connell. Honors 391A Mathematical Gems Jenia Tevelev

Law of Large Numbers Alexandra Barbato and Craig O Connell Honors 391A Mathematical Gems Jenia Tevelev Jacob Bernoulli Life of Jacob Bernoulli Born into a family of important citizens in Basel, Switzerland

Third Grade Math Games Unit 1 Lesson Less than You! 1.3 Addition Top-It 1.4 Name That Number 1.6 Beat the Calculator (Addition) 1.8 Buyer & Vendor Game 1.9 Tic-Tac-Toe Addition 1.11 Unit 2 What s My Rule?

### UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming

UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming 1 2 Foreword First of all, this book isn t really for dummies. I wrote it for myself and other kids who are on the team. Everything

### Introduction to JAVA (Continued) Part 5

Introduction to JAVA (Continued) Part 5 E001 For Loops A "for loop" lets you execute a set of programming instructions a specific number of times. For example, the following snippet will print "Hello!"

### Elementary Statistics and Inference. Elementary Statistics and Inference. 16 The Law of Averages (cont.) 22S:025 or 7P:025.

Elementary Statistics and Inference 22S:025 or 7P:025 Lecture 20 1 Elementary Statistics and Inference 22S:025 or 7P:025 Chapter 16 (cont.) 2 D. Making a Box Model Key Questions regarding box What numbers

### Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 13. Random Variables: Distribution and Expectation

CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 3 Random Variables: Distribution and Expectation Random Variables Question: The homeworks of 20 students are collected

### Keywords are identifiers having predefined meanings in C programming language. The list of keywords used in standard C are : unsigned void

1. Explain C tokens Tokens are basic building blocks of a C program. A token is the smallest element of a C program that is meaningful to the compiler. The C compiler recognizes the following kinds of

### AP Computer Science A 2013 Free-Response Questions

AP Computer Science A 2013 Free-Response Questions About the College Board The College Board is a mission-driven not-for-profit organization that connects students to college success and opportunity. Founded

### qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq Introduction to Programming using Java wertyuiopasdfghjklzxcvbnmqwertyui

### Logistics. Software Testing. Logistics. Logistics. Plan for this week. Before we begin. Project. Final exam. Questions?

Logistics Project Part 3 (block) due Sunday, Oct 30 Feedback by Monday Logistics Project Part 4 (clock variant) due Sunday, Nov 13 th Individual submission Recommended: Submit by Nov 6 th Scoring Functionality

### Building Java Programs

Building Java Programs Chapter 4: Conditional Execution These lecture notes are copyright (C) Marty Stepp and Stuart Reges, 2007. They may not be rehosted, sold, or modified without expressed permission

### You can place bets on the Roulette table until the dealer announces, No more bets.

Roulette Roulette is one of the oldest and most famous casino games. Every Roulette table has its own set of distinctive chips that can only be used at that particular table. These chips are purchased

### 36 Odds, Expected Value, and Conditional Probability

36 Odds, Expected Value, and Conditional Probability What s the difference between probabilities and odds? To answer this question, let s consider a game that involves rolling a die. If one gets the face

### Discrete Math in Computer Science Homework 7 Solutions (Max Points: 80)

Discrete Math in Computer Science Homework 7 Solutions (Max Points: 80) CS 30, Winter 2016 by Prasad Jayanti 1. (10 points) Here is the famous Monty Hall Puzzle. Suppose you are on a game show, and you

### The game of roulette is played by throwing a small ball onto a rotating wheel with thirty seven numbered sectors.

LIVE ROULETTE The game of roulette is played by throwing a small ball onto a rotating wheel with thirty seven numbered sectors. The ball stops on one of these sectors. The aim of roulette is to predict

### JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4

JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4 NOTE: SUN ONE Studio is almost identical with NetBeans. NetBeans is open source and can be downloaded from www.netbeans.org. I

### AP Computer Science A 2012 Scoring Guidelines

AP Computer Science A 2012 Scoring Guidelines The College Board The College Board is a mission-driven not-for-profit organization that connects students to college success and opportunity. Founded in 1900,

### java.util.scanner Here are some of the many features of Scanner objects. Some Features of java.util.scanner

java.util.scanner java.util.scanner is a class in the Java API used to create a Scanner object, an extremely versatile object that you can use to input alphanumeric characters from several input sources

### File class in Java. Scanner reminder. Files 10/19/2012. File Input and Output (Savitch, Chapter 10)

File class in Java File Input and Output (Savitch, Chapter 10) TOPICS File Input Exception Handling File Output Programmers refer to input/output as "I/O". The File class represents files as objects. The

### Object Oriented Software Design

Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 28, 2010 G. Lipari (Scuola Superiore Sant Anna) Introduction

### Variables, Constants, and Data Types

Variables, Constants, and Data Types Primitive Data Types Variables, Initialization, and Assignment Constants Characters Strings Reading for this class: L&L, 2.1-2.3, App C 1 Primitive Data There are eight

### THE ROULETTE BIAS SYSTEM

1 THE ROULETTE BIAS SYSTEM Please note that all information is provided as is and no guarantees are given whatsoever as to the amount of profit you will make if you use this system. Neither the seller

### Lecture 2 Notes: Flow of Control

6.096 Introduction to C++ January, 2011 Massachusetts Institute of Technology John Marrero Lecture 2 Notes: Flow of Control 1 Motivation Normally, a program executes statements from first to last. The

### Unit 19: Probability Models

Unit 19: Probability Models Summary of Video Probability is the language of uncertainty. Using statistics, we can better predict the outcomes of random phenomena over the long term from the very complex,

### While and Do-While Loops. 15-110 Summer 2010 Margaret Reid-Miller

While and Do-While Loops 15-110 Margaret Reid-Miller Loops Within a method, we can alter the flow of control using either conditionals or loops. The loop statements while, do-while, and for allow us execute

### Expected Value and the Game of Craps

Expected Value and the Game of Craps Blake Thornton Craps is a gambling game found in most casinos based on rolling two six sided dice. Most players who walk into a casino and try to play craps for the

### Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to

### Solution (Done in class)

MATH 115 CHAPTER 4 HOMEWORK Sections 4.1-4.2 N. PSOMAS 4.6 Winning at craps. The game of craps starts with a come-out roll where the shooter rolls a pair of dice. If the total is 7 or 11, the shooter wins

### Ch. 13.3: More about Probability

Ch. 13.3: More about Probability Complementary Probabilities Given any event, E, of some sample space, U, of a random experiment, we can always talk about the complement, E, of that event: this is the

### Section 6 Spring 2013

Print Your Name You may use one page of hand written notes (both sides) and a dictionary. No i-phones, calculators or any other type of non-organic computer. Do not take this exam if you are sick. Once