Skip to main content

Section 8.4 Assessment: Writing Loops

Subgoals for Writing a Loop.

  1. Determine purpose of loop
    1. Pick a loop structure (while, for, do_while)
  2. Define and initialize variables
  3. Determine termination condition
    1. Invert termination condition to continuation condition
  4. Write loop body
    1. Update loop control variable to reach termination

Exercises Exercises

    1.

      Q1: Given the following code segment:
      int x = 1;
      while ( /* condition */ ) {
         if (x % 2 == 0) {
            System.out.print(x + "  ");
         }
         x = x + 2;
      }
      
      Consider the following conditions to replace /* condition */ in the code segment:
      1. x < 0
      2. x <= 1
      3. x < 10
      For which of the conditions will nothing be printed?
    • I only
    • II only
    • I and II only
    • I and III only
    • I, II and III

    2.

      Q2: Given the following code segment which is intended to print the number of integers that evenly divide the integer inputVal. You may assume that inputVal > 0. Which of the following can be used to replace /* condition */ so that numDivisors will work as intended?
      int count = 0;
      int inputVal = /* user entered value */
      for (int k = 1; k <= inputVal; k++) {
         if ( /* condition */ ) {
            count++;
         }
      } // end for
      System.out.println(count);
      
    • inputVal % k == 0
    • k % inputVal == 0
    • inputVal % k != 0
    • inputVal / k == 0
    • k / inputVal > 0

    3.

      Q3: Which of the following code segments will produce the output:
      1 4 7 10 13 16 19
      int k = 1;
      while (k < 20) {
         if (k % 3 == 1)
            System.out.print(k + "  ");
         k = k + 3;
      }
      
      for (int k = 1; k < 20; k++) {
         if (k % 3 == 1)
            System.out.print(k + "  ");
      }
      
      for (int k = 1; k < 20; k = k + 3) {
         System.out.print(k + "  ");
      }
      
    • I only
    • II only
    • I and II only
    • I and III only
    • I, II and III

    4.

      Q4: What is the maximum number of times “Hello” can be printed?
      int k = // a random number such that 1 <= k <= n ;
      for (int p = 2; p <= k; p++) {
         for (int r = 1; r < k; r++)
            System.out.println("Hello");
      }
      
    • 2
    • n - 1
    • n - 2
    • (n - 1) * (n - 1)
    • n * n
You have attempted of activities on this page.