Assignment should be completed in the attached file
Loops and Iteration Loops and Iteration Computers are often used to perform repetitive tasks. Running the same statements over and over again, without making any mistakes, is something that computers do very well. Content Learning Objectives After completing this activity, students should be able to: • Explain what happens when re-assigning a variable. • Identify the three main components of a while loop. • Implement the factorial function using a for loop. Process Skill Goals During the activity, students should make progress toward: • Tracing the execution of while/for loops and predict their final output. (Critical Thinking) Copyright © 2019 Chris Mayfield and Helen Hu. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Model 1 Assignment Consider the following Java statements. What is the resulting value of each variable? A: int x, y; x = 1; y = 2; y = x; x = y; B: int x, y, z; x = 1; y = 2; z = y; y = x; x = z; C: int z, y; z = 2; z = z + 1; z = z + 1; y = y + 1; Value of x: Value of y: Value of x: Value of y: Value of z: Value of z: Value of y: Questions (10 min) Start time: 1. In program A, why is the value of x not 2? 2. In program B, what happens to the values of x and y? 3. In program B, what is the purpose of the variable z? 4. If program C runs, what happens to the value of z? 5. In program C, why is it possible to increment z but not y? 6. Because increment and decrement are so common in algorithms, Java provides the operators ++ and --. For example, x++ is the same as x = x + 1, and y-- is the same as y = y - 1. Write the value of x and y next to each statement below. int x = 5; x--; x--; int y = -10; y++; y++; 7. Like the assignment operator, the ++ and -- operators replace the value of a variable. Java also has compound assignment operators for convenience. For example, the statement x = x + 2 can be rewritten as x += 2. Simplify the following assignment statements. step = step + 5; size = size - 3; total = total * 2; change = change / 10; hours = hours % 24; 8. Which of the following assignment statements can also be rewritten like the ones in #7? step = 5 + step; size = 3 - size; total = 2 * total; change = 10 / change; hours = 24 % hours; Model 2 While Loops A loop is a set of instructions that are to be repeated. All loops have three main components: initialize, test, and update. Label each of these components in the two example loops below. // pre-test loop // post-test loop number = 1; number = 1; while (number <= 10)="" {="" do="" {="" system.out.println(number);="" system.out.println(number);="" number++;="" number++;="" }="" }="" while="" (number="">=><= 10);="" questions="" (15="" min)="" start="" time:="" 9.="" which="" loop="" component="" always="" happens="" first?="" why?="" 10.="" explain="" why="" the="" while="" loop="" is="" called="" a="" pre-test="" and="" the="" do="" while="" loop="" is="" called="" a="" post-test.="" 11.="" what="" is="" output="" (to="" the="" screen)="" by="" each="" loop?="" 12.="" what="" is="" the="" final="" value="" of="" number="" at="" the="" end="" of="" each="" loop?="" 13.="" what="" is="" output="" if="" you="" swap="" the="" println="" and="" number++="" statements?="" 14.="" what="" is="" the="" output="" if="" you="" remove="" the="" number++="" statement?="" 15.="" what="" is="" output="" by="" the="" loop="" below?="" number="99;" do="" {="" system.out.println(number);="" number++;="" }="" while="" (number="">=><= 10);="" system.out.println(number);="" 16.="" what="" is="" the="" output="" of="" the="" following="" loop?="" (and="" what="" mistake="" was="" made?)="" i="0;" while="" (i="">=>< 3) system.out.println("i = " + i); i = i + 1; 17. what is the difference between a while statement and an if statement? model 3 for loops the for loop combines initialize, test, and update into one line of code. label each of these components in the two example loops below. (assume that the variable number has already been declared.) // count forwards for (number = 1; number <= 10; number++) { system.out.println(number); } // count backwards for (number = 10; number >= 1; number--) { system.out.println(number); } questions (20 min) start time: 18. what do each of the for loops output to the screen? be specific. 19. describe how to make these loops display even numbers only (2 4 6 8 10 and 10 8 6 4 2). 20. write a for loop that prints each character of a string on a separate line. you will need to invoke the length() and charat() methods. assume the string variable is named word. 21. rewrite your for loop in #20 as a while loop. 22. write a loop that computes the factorial of a given integer n. recall that n! = n ∗ (n − 1) ∗ (n − 2) ∗ . . . ∗ 1. store your result in a variable named fact. 23. a nested loop is one that exists within the scope of another loop. this construct is often used when there are two variables for which all combinations must be examined. for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { system.out.printf("the product of %d and %d is %d\n", i, j, i * j); } system.out.println(); } write nested loops that compute and display the factorial of each integer from 1 to 20. (reuse your code from the previous question.) your output should be in this format: the factorial of 1 is 1 the factorial of 2 is 2 the factorial of 3 is 6 the factorial of 4 is 24 assignment while loops for loops 3)="" system.out.println("i=" + i); i = i + 1; 17. What is the difference between a while statement and an if statement? Model 3 For Loops The for loop combines initialize, test, and update into one line of code. Label each of these components in the two example loops below. (Assume that the variable number has already been declared.) // count forwards for (number = 1; number <= 10; number++) { System.out.println(number); } // count backwards for (number = 10; number >= 1; number--) { System.out.println(number); } Questions (20 min) Start time: 18. What do each of the for loops output to the screen? Be specific. 19. Describe how to make these loops display even numbers only (2 4 6 8 10 and 10 8 6 4 2). 20. Write a for loop that prints each character of a string on a separate line. You will need to invoke the length() and charAt() methods. Assume the string variable is named word. 21. Rewrite your for loop in #20 as a while loop. 22. Write a loop that computes the factorial of a given integer n. Recall that n! = n ∗ (n − 1) ∗ (n − 2) ∗ . . . ∗ 1. Store your result in a variable named fact. 23. A nested loop is one that exists within the scope of another loop. This construct is often used when there are two variables for which all combinations must be examined. for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { System.out.printf(" the="" product="" of="" %d="" and="" %d="" is="" %d\n",="" i,="" j,="" i="" *="" j);="" }="" system.out.println();="" }="" write="" nested="" loops="" that="" compute="" and="" display="" the="" factorial="" of="" each="" integer="" from="" 1="" to="" 20.="" (reuse="" your="" code="" from="" the="" previous="" question.)="" your="" output="" should="" be="" in="" this="" format:="" the="" factorial="" of="" 1="" is="" 1="" the="" factorial="" of="" 2="" is="" 2="" the="" factorial="" of="" 3="" is="" 6="" the="" factorial="" of="" 4="" is="" 24="" assignment="" while="" loops="" for=""> 3) system.out.println("i = " + i); i = i + 1; 17. what is the difference between a while statement and an if statement? model 3 for loops the for loop combines initialize, test, and update into one line of code. label each of these components in the two example loops below. (assume that the variable number has already been declared.) // count forwards for (number = 1; number <= 10; number++) { system.out.println(number); } // count backwards for (number = 10; number >= 1; number--) { system.out.println(number); } questions (20 min) start time: 18. what do each of the for loops output to the screen? be specific. 19. describe how to make these loops display even numbers only (2 4 6 8 10 and 10 8 6 4 2). 20. write a for loop that prints each character of a string on a separate line. you will need to invoke the length() and charat() methods. assume the string variable is named word. 21. rewrite your for loop in #20 as a while loop. 22. write a loop that computes the factorial of a given integer n. recall that n! = n ∗ (n − 1) ∗ (n − 2) ∗ . . . ∗ 1. store your result in a variable named fact. 23. a nested loop is one that exists within the scope of another loop. this construct is often used when there are two variables for which all combinations must be examined. for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { system.out.printf("the product of %d and %d is %d\n", i, j, i * j); } system.out.println(); } write nested loops that compute and display the factorial of each integer from 1 to 20. (reuse your code from the previous question.) your output should be in this format: the factorial of 1 is 1 the factorial of 2 is 2 the factorial of 3 is 6 the factorial of 4 is 24 assignment while loops for loops>