SOLUTIONS Object-Oriented Systems Fall 1994 COM3360 Karl Lieberherr --------------------------------------------------------------------------- Midterm SOLUTIONS YOUR NAME: Question 1: 15 UNKNOWNS, 3 points each 45 Question 2: 11 UNKNOWNS, 3 points each 33 Question 3: 30 UNKNOWNS, 2 points each 60 Question 4: 17 UNKNOWNS, 4 points each 68 206 total Question 1: ================================================== UNKNOWN1 = Building UNKNOWN2 = Phone_List UNKNOWN3 = Phone UNKNOWN4 = Phone_List ~ {Phone}. (or Phone_List ~ Phone {Phone}.) UNKNOWN5 = BusinessPhone | HomePhone UNKNOWN6 = Hardware UNKNOWN7 = Status UNKNOWN8 = hookStatus UNKNOWN9 = HookStatus: OffHook *common*. UNKNOWN10 = OffHook UNKNOWN11 = Phone_List UNKNOWN12 = Phone_List_iterator UNKNOWN13 = next_Phone UNKNOWN14 = each_Phone UNKNOWN15 = each_Phone Question 2: ================================================== UNKNOWN1 = Phone_List UNKNOWN2 = Phone_List UNKNOWN3 = argc UNKNOWN4 = Phone_List UNKNOWN5 = expected UNKNOWN6 = argv UNKNOWN7 = Phone_List UNKNOWN8 = expected UNKNOWN9 = expected UNKNOWN10 = result UNKNOWN11 = g_equal Question 3: ================================================== UNKNOWN1 = Phone_List UNKNOWN2 = iPhone_List1 UNKNOWN3 = Phone_List UNKNOWN4 = iRinging3 UNKNOWN5 = iOnHook4 UNKNOWN6 = iNonTalking5 UNKNOWN7 = iStatus6 UNKNOWN8 = set_status UNKNOWN9 = iHomePhone2 UNKNOWN10 = iNonRinging9 UNKNOWN11 = iOffHook10 UNKNOWN12 = iTalking11 UNKNOWN13 = set_status UNKNOWN14 = phones UNKNOWN15 = Phone UNKNOWN16 = phone (alternative: NOTHING) UNKNOWN17 = Ringing UNKNOWN18 = "ringing" UNKNOWN19 = "quiet" UNKNOWN20 = OnHook UNKNOWN21 = "on-hook" UNKNOWN22 = "off-hook" UNKNOWN23 = Talking UNKNOWN24 = "talking" UNKNOWN25 = "non-talking" UNKNOWN26 = NOTHING (alternative: "phone") UNKNOWN27 = "home" (alternative: "home" "phone") UNKNOWN28 = "(" (alternative: "(" S) UNKNOWN29 = S UNKNOWN30 = ")" Question 4: ================================================== UNKNOWN1 = Building UNKNOWN2 = Phone (alternative: {BusinessPhone, HomePhone}) UNKNOWN3 = Phone (alternative: {BusinessPhone, HomePhone}) UNKNOWN4 = this UNKNOWN5 = Phone UNKNOWN6 = Phone (alternative: {BusinessPhone, HomePhone}) UNKNOWN7 = HookStatus UNKNOWN8 = HookStatus UNKNOWN9 = Building UNKNOWN10 = Phone (alternative: {BusinessPhone, HomePhone}) UNKNOWN11 = Phone (alternative: {BusinessPhone, HomePhone}) UNKNOWN12 = this UNKNOWN13 = Phone UNKNOWN14 = Phone (alternative: {BusinessPhone, HomePhone}) UNKNOWN15 = Status UNKNOWN16 = Status UNKNOWN17 = if (this->get_hookStatus() == NULL) return_val -> append(p);