2.7 Solutions

    1. 15 / 6 + 15 % 6
      = 2 + 3
      = 5
    2. 3e-1 + 2e1
      = 0.3 + 20.0
      = 20.3
    3. 2 / 5 * 8.0
      = 0 * 8.0
      = 0.0
    4. 1.6 * 20 % 8
      = 32.0 % 8
      = 0.0
    5. (double)(25/4)
      = (double)6
      =6.0
    6. (int)2.7 + 6.3
      = 2 + 6.3
      = 8.3
    7. 20 - 10*(15%4)
      = 20 - 10 * 3
      = 20 - 30
      = -10
    8. 7/(-5) + 4%(-3)
      = -1 + 1
      = 0 Don't worry about this one we won't have to do any negative mods
    9. 2*3/(double)4
      = 6 / 4.0
      = 1.5
    10. (int)4.8 % 1.1
      = 4 % 1.1
      = 0.7
    11. 6 / 4 * 2
      = 1 * 2
      = 2
      
    12. 2 * 3 / 2
      = 6 / 2
      = 3
    13. (int)2.7 * 1.8
      = 2 * 1.8
      = 3.6
    14. (int)2.7 * (int)1.8
      = 2 * 1
      = 2
    15. (int)(2.7 * 1.8)
      = (int)4.86
      = 4
    1. error, missing bracket on denominator (Actually it is correct - ironically a typo fixed the error that was supposed to be there)
    2. correct
    3. error, need * for multiplication
    4. correct, but not as nice as (b)
    5. error, numerator needs brackets
    6. error, numerator and denominator both missing brackets
    1. j = ++i * k--
      j = 4 * 2       i is now 4, k is  now 1
      j = 8, i = 4, k = 1
    2. i = --j + k/2
      i = 3 + 2 / 2       j is now 3
      i = 3 + 1
      i = 4, j = 3, k = 2
    3. k = i-- - j++
      k = 3 - 4       i is now 2, j is now 5
      k = -1, i = 2, j = 5
    4. j = (2*i++)%(++k + 1)
      j = (2 * 3)%(3 + 1)       i is now 4, k is now 3
      j = 6 % 4
      j = 2, i = 4, k = 3
    5. i += j -= --k
      i += j = j - --k
      i += j = 4 - 1       k is now 1
      i += j = 3       j is now 3
      i = i + j
      i = 3 + 3
      i = 6, j = 3, k = 1
    6. i *= j /= k++
      i *= j = j / k++
      i *= j = 4 / 2       k is now 3
      i *= j = 2       j is now 2
      i = i * j
      i = 3 * 2
      i = 6, j = 2, k = 3
    1. 'h' since it is 6 characters after 'b'
    2. -7 since 'T' is 7 characters after 'M'
    1. round(sqrt(20))
      = round(4.472136)
      = 4
    2. sqrt(abs(-49))
      = sqrt(49)
      = 7.0
    3. (int)random(1)
      = 0
    4. pow(0.5, -4)
      =    1 
         0.54
        
      =     1  
         0.0625
      
      = 16.0  
        
      
    1. sqrt(PI*abs(a*a - b*b))
    2. pow(pow(x, 6) + pow(y, 6), 1.0/4)
    3. (-b + sqrt(b * b - 4 * a * c)/(2 * a)
    4. 1 / (1.0 / a + 1.0 / b)
  1. p++;
    m = n * p;
    n--;
    1. They would both be equal to 4
    2. temp = x;
      x = y;
      y = temp;
  1.  
    void setup()
    {
       float value1 = getFloat("Enter first number");
       float value2 = getFloat("Enter second number");
       float value3 = getFloat("Enter third value");
       float mean = (value1 + value2 + value3) / 3;
       mean = round(mean * 100) / 100.0;
       println("Rounded mean is " + mean);
    } 
  2.  
    void setup()
    {
       int number = getInt("Enter a 3-digit number");
       println("The number is " + number);
       int sumDigits = number % 10;  // get last digit
       number /= 10;                 // remove last digit
       sumDigits += number % 10;     // get original middle digit
       number /= 10;                 // remove original middle digit
       sumDigits += number;          // get original first digit
       println("The digit sum is " + sumDigits);
    }