Advanced Placement Computer Science AB:
Assignment 11:  apvector, apmatrix, and Arithmetic Expressions
    Sewickley Academy, 2000-2001

See Course Home Page.
 
Date Assigned: Tue Oct-10
Date Due: n/a (in-class assignment)

Note:  This "assignment" was originally given in class as the original Quiz 3.

When possible, SHOW YOUR WORK.  Also, YOU MAY NOT USE A COMPILER OR ANY OTHER
MATERIALS (except a pen and your brain).

0.  Write your name on the top-right corner.  No name, no grade, no exceptions.

1.  Write the API's for apvector and apmatrix.
 
2.  For each assignment to c below, give the value that will be assigned to c (just like the review questions for this
quiz).
 
          #include <iostream.h>
     #include <stdio.h>

     int f2(int y)
     {
      y = 2+y;
      return 2*y+2;
     }

     int f3(int& y)
     {
      y = 3+y;
      return 3*y+3;
     }

     void main()
     {
      int a,b,c;
      a = 13;
      b = 5;
      c = (a / b);            // Q1
      c = (a > b);            // Q2
      c = a ^ b;              // Q3
      c = (! a == (b/(b+1))); // Q4
      c = (a != b);         // Q5
      c = a & b;            // Q6
      c = a && b;           // Q7
      c = a || b;           // Q8
      c = 3;             // Q9
      c += a && b;       // Q10
      c = (a = b);       // Q11
      c -= a;            // Q12
      c = c && b;        // Q13
      c ^= a;            // Q14
      c = f2(a) + f2(a); // Q15
      c = f3(a) + f3(a); // Q16
      a = 1;
      c = (f3(a) && !f3(a) && f3(a)); // Q17
      c = a;             // Q18

      a = b = 1;
      for (a;a/(a+b);a)
       b += a;
      c = b;             // Q19

      b = 0;
      for (a=0x7FFFFFFA;a<a+1;a++)
       b++;
      c = b;             // Q20

      b = 1;
      for (a = --b; a = b; a = b)
       a = b;
      c = b;             // Q21

      b = 0;
      for (a = 0; a < 10; a++)
       b += a;
      c = b;             // Q22

      a = b = 0;
      for (a = 1; (a >= --b) && (a = 0); a++)
       b++;
      c = a + b;         // Q23

      a = b = 4;
      for (a = 3; a < a+1; a++)
      {
       if ((a % 2) * a >= a - 4)
        continue;
       if (!((b += a) % 4))
        break;
      }
      c = b;             // Q24
     }



See Course Home Page.