Skip to content

Latest commit

 

History

History
134 lines (117 loc) · 3.26 KB

File metadata and controls

134 lines (117 loc) · 3.26 KB

CSE 142

Quiz

Week 4

  1. Expressions, 10 points. For each expression in the left-hand column, indicate its value in the right-hand column. Be sure to list a constant of appropriate type (e.g., 7.0 rather than 7 for a double, Strings in quotes).
Expression Value
12 / 3 + 5 + 3 * -2
1 + 1 + "(1 + 1)" + 1 + 1
13 / 2 - 38 / 5 / 2.0 + (15 / 10.0)
`11 < 3 + 4
20 % 6 + 6 % 20 + 6 % 6
  1. Parameter Mystery, 12 points. Consider the following program.
public class ParameterMystery {
    public static void main(String[] args) {
        int a = 5;
        int b = 1;
        int c = 3;
        int three = a;
        int one = b + 1;

        axiom(a, b, c);
        axiom(c, three, 10);
        axiom(b + c, one + three, a + one);
        a++;
        b = 0;
        axiom(three, 2, one);
    }

    public static void axiom(int c, int b, int a) {
        System.out.println(a + " + " + c + " = " + b);
    }
}

List below the output produced by this program.








  1. If/Else Simulation, 12 points. Consider the following method.
public static void ifElseMystery(int a, int b) {
    if (a % 10 == 0) {
        b = b * 10;
        a = a + 10;
    }   
    if (a > b) {
        b = a;
    } else if (a == b) {
        b++;
    }
    System.out.println(a + " " + b);
}

For each call below, indicate what output is produced.

Method Call Output Produced
ifElseMystery(20, 8);
ifElseMystery(30, 30);
ifElseMystery(4, 3);
ifElseMystery(3, 4);
ifElseMystery(30, 4);
ifElseMystery(7, 7);
  1. While Loop Simulation, 12 points. Consider the following method:
public static void whileMystery(int i, int j) {
    int k = 0;
    while (i < j && k < j) {
        i = i + k;
        j--;
        k++;
        System.out.print(i + ", ");
    }

    System.out.println(k);
}

Write the output of each of the following calls.

Method Call Output Produced
whileMystery(3, 5);
whileMystery(5, 3);
whileMystery(-3, 6);
whileMystery(2, 12);
  1. Assertions, 15 points. You will identify various assertions as being either always true, never true or sometimes true/sometimes false at various points in program execution. The comments in the method below indicate the points of interest.
public static int mystery(int x) {
    if (x <= 0) {
        x = 42;
    }
    int y = 0;
    // Point A
    while (x != 1) {
        // Point B
        if (x % 2 == 0) {
            y++;
            x = x / 2;
            // Point C
        } else {
            x = 3 * x + 1;
            // Point D
        }
    }
    // Point E
    return y;
}

Fill in the table below with the words ALWAYS(A), NEVER(N) or SOMETIMES(S).

x == 1 x % 2 == 1 y == 0
Point A
Point B
Point C
Point D
Point E