Example Final Questions Instructions
|
|
- Gwenda Craig
- 5 years ago
- Views:
Transcription
1 Example Final Questions Instructions This exam paper contains a set of sample final exam questions. It is for practice purposes only. You ll most likely need longer than three hours to answer all the questions. 1
2 1. State whether each of the following statements is true or false, and briefly explain your reason. (a) If a function in a class is declared to be a virtual function, then it must NOT have definition (implementation) in that class. False. Only pure virtual functions don t have implementation. (b) You can not create objects from an abstract class, therefore an abstract class is useless. True that you can t create objects from an abstract class, but it is still useful. An abstract class can act as a base class to derive other classes. (c) If class A is derived from class B (i.e., class A inherits class B), then class A can overwrite (override) a private function defined in class B and class B s constructor. False. Derived classes don t inherit private functions and constructors from its base class. Therefore, derived class can t overwrite these items. (d) The only way to implement a binary tree ADT is to use a pointer based data structure, because you have to use pointers to point to child nodes. False. You can use array to implement a binary tree, and calculate the position of a node s child nodes from the node s index. (e) When you need to raise an exception, you have to put the throwstatement directly in a try-block. False. You can put throw statement anywhere. You have to put a throw statement in a try-block only if you want to catch the raised exception. (f) If the condition in an assert statement is evaluated to be false, the function that contains that assert statement will be terminated, but the program can still continue. False. The program will be terminated too. 2
3 (g) The following two functions are allowed to be in the same class Data because their return types are different and they have different parameter names. void Data::updateStatus(int initialstatus); bool Data::updateStatus(int newstatus); False. The return type and parameter names are not part of a function s signature. Therefore, the above two functions have the same signature and are not allowed to exist in the same class. 2. What is the precise output from the following complete C++ program? // Program begins here #include <iostream> using namespace std; class Data public: Data(); ~Data(); void set(double x1, double x2); void display(); static int count; private: int id; double *x; ; int Data::count = 0; Data::Data() id = ++count; cout << "Initialize object " << id << ".\n"; x = new double[2]; x[0] = x[1] = 0.0; Data::~Data() delete [] x; 3
4 count--; cout << "destroy object " << id << ".\n"; void Data::set(double x1, double x2) x[0] = x1; x[1] = x2; void Data::display() cout << "Object " << id << " has:\n"; cout << x[0] << " " << x[1] << endl; int main() Data a[2]; a[0].set(1.0, 2.0); a[1].set(3.0, 4.0); Data & b = a[1]; Data * c = new Data(); Data * d = &a[0]; c->set(5.0, 6.0); cout << "Total objects: " << Data::count << endl; b.display(); c->display(); d->display(); delete c; cout << "Total objects: " << Data::count << endl; return 0; // Program ends here Precise output: Initialize object 1. Initialize object 2. Initialize object 3. Total objects: 3 Object 2 has: Object 3 has: 4
5 Object 1 has: destroy object 3. Total objects: 2 destroy object 1. destroy object First, explain what is the ADT Dictionary. Then, describe the basic operations of a Dictionary. For each operation, describe its interface and what it should do. (Note: You do not need to implement this ADT.) Dictionary ADT is a container type that stores and manages a set of <key, object> pairs. The basic operations of a Dictionary ADT include: Lookup: takes a key as its parameter and finds and returns the corresponding object. Insert: takes a key (optional) and an object as its parameter and adds this <key, object> pair into the dictionary. Remove: takes a key as its parameter and removes the corresponding object from the dictionary. 4. Given the following interface of class Window that describes the standard window objects: class Window public: Window(); ~Window(); void setposition(int X, int Y); void setsize(int width, int height); void getposition(int & X, int & Y); void getsize(int & width, int & height); void display(); private: int positionx; int positiony; 5
6 ; int width; int height; Design the interface of a message-window class, called MsgWindow. A message window is a standard window that is used to display some message. The methods used to handle the position and size of a message window should be the same as those in the standard window. However, the method used to display a message window is different from the one used to display a standard window. A message window also should store the message to be displayed and provide methods to update the message and retrieve the message. Your interface design should show the public methods, the private data fields and the relationship between the class Window and the class MsgWindow. (Note: You do not need to implement the methods.) class MsgWindow : public Window public: MsgWindow(); ~MsgWindow(); void display(); string getmessage(); void setmessage(string); private: string message; ; 5. Write a C++ function that takes two strings as parameters and finds and returns a string that contains the longest common prefix of these two strings. For example, the two strings abcxyz and abxyz have the longest common prefix of ab ; and the two strings abc and xyz have the longest common prefix of (empty string). string longestprefix(string s1, string s2) string result = ""; int len1 = s1.length(); int len2 = s2.length(); 6
7 for(int i = 0; i < s1 && i < s2; i++) if (s1[i] == s2[i]) result = result + s1[i]; else return result; return result; 6. Given the following interface of a Queue class: class Queue public: Queue(); ~Queue(); void enqueue(int data); int dequeue(); bool isempty(); private: int values[100]; // a circular array int front; int back; ; A circular array is used to implement this Queue class. Implement the method enqueue and isempty. void Queue::enqueue(int data) if ((back+1)%100!= front) values[back] = data; back = (back + 1) % 100; else throw string("full queue"); bool Queue::isEmpty() 7
8 return (front == back); 7. Given the following interface of a LinkedList class: class LinkedList public: // create an empty linked list LinkedList(); // 1 // destroy each node in the linked list ~LinkedList(); // 2 // insert the data to the front of the linked list void insertfront(int data); // 3 // remove and return the data that s in the front // of the linked list, throw an exception // if the list is empty int removefront() throw (string); // 4 // return true if the list is empty bool isempty(); // 5 // return the data resides in the position indicated // by the index; if the index is less than 0 or // greater than or equal to the number of elements // in the list, throw an exception int & operator [] (int index) throw (string); // 6 private: struct Node int data; Node * next; ; Node * front; // pointing to the front of the list int size; // the number of elements in the list ; Implement all six functions of this class. (You can decide whether or not you want to create a dummy node for the linked list, as long as the implementation of all the functions is consistent.) 8
9 LinkedList::LinkedList() // no dummy node front = 0; size = 0; LinkedList::~LinkedList() Node *tmp; while (front!= 0) tmp = front; front = front->next; delete tmp; void LinkedList::insertFront(int data) Node *tmp = new Node; tmp->data = data; tmp->next = front; front = tmp; size++; int LinkedList::removeFront() throw (string) if (front == 0) throw string("empty List"); Node *tmp = front; front = front->next; int result = temp->data; delete tmp; size --; return result; 9
10 bool LinkedList::isEmpty() return (front == 0); // return (size == 0); // alternatively int & LinkedList::operator [] (int index) throw (string) if (index < 0 index >= size) throw string("out of range"); Node *tmp = front; for(int i = 0; i < index; i++) tmp = tmp->next; return tmp->data; 8. Given the following struct definition: struct Data string name; int number; ; Develop a C++ function, called loaddata, that opens a file and reads data from the file into an array. This function takes the following three parameters: (a) a string, called filename, which stores the name of the file to be opened; (b) a pointer pointing to an array of Data, called arr, which will be set to point to an array that stores the data; (c) an integer, called arrsize, which will be set to store the size of the array created. If the file can be opened successfully, then you can safely assume that the first line in the file is an integer number indicating how many data 10
11 items are stored in the file, and each data item occupies two lines, the first line contains a character string as name (may have white spaces) and the second line contains an integer as number. The function should open the file, read in the number of elements first, set the arrsize to be that number, dynamically create a Data array big enough to store all the data items and make arr pointing to this array, and then read the data items from file to the array, close the file and return true. If the file can not be opened successfully, then the function should return false. The prototype of the function is shown below: bool loaddata(string filename, Data *& arr, int & arrsize); bool loaddata(string filename, Data *& arr, int & arrsize) ifstream fin; fin.open(filename.c_str(); if (fin.fail()) return false; string garbage; fin >> arrsize; getline(fin, garbage); arr = new Data[arrSize]; for(int i = 0; i < arrsize; i++) getline(fin, arr[i].name); fin >> arr[i].number; getline(fin, garbage); return true; 9. Write a C++ function, findmax, that takes an array of strings, called values, and the array s size, called size, as its parameters and returns 11
12 a double value. Each string stored in array values should be able to be converted to a positive double number. The function findmax converts each string stored in the array values to the double number it represents and then finds and returns the maximum of these numbers. There are the following exceptions that need to be handled by try-catch-throw method in this function: (a) If the size of the array is zero, the function should throw an exception of type EmptyArray, catch it and simply return 0.0. (b) If any of the strings can not be converted successfully to a positive double number, the function should throw an exception of type WrongFormat out. (Note: There is no need for the function to handle this exception itself.) You can safely assume that the two classes EmptyArray and WrongFormat are already defined and can be used by function findmax. The constructors of both these two classes require no parameters. The function interface should include a throw list. To convert a string to a double number, you can use the library function double atof(char*);. double findmax(string values[], int size) throw (WrongFormat) try if (size == 0) throw EmptyArray(); catch (EmptyArray & e) return 0.0; double maxnum; double number = atof(values[0].c_str()); if (number <= 0) throw WrongFormat(); else maxnum = number; for(int i = 1; i < size; i++) 12
13 number = atof(values[i].c_str()); if (number <= 0) throw WrongFormat(); else if (number > maxnum) maxnum = number; return maxnum; 10. Given the following binary tree: (a) Show the in-order, pre-order and post-order traversals of the above shown binary tree. in-order: pre-order: post-order: (b) If the number in each node represents the data stored in that node, is this binary tree a binary search tree? Why or why not? No. All the data stored in the right sub-tree of node 8 should be greater than 8 if it is a binary search tree. But node 7 is in the right sub tree, yet it is smaller than 8. (c) Breadth-first traversal means to visit the nodes in a tree by layers, i.e., visit all the nodes with depth 1 first, then visit all the nodes with depth 2, and so on. Show the breadth-first traversal of the above shown binary tree. 13
14 breadth-first: The following picture shows a thread tree (with dashed lines representing thread pointers). The struct of a thread tree node is defined below: struct TreeNode string data; TreeNode *left; bool leftthread; TreeNode *right; bool rightthread; ; Write a C++ function, called threadtraversal, that takes a pointer to a thread tree s root as its parameter, and performs in-order traversal of the tree. The function should not use any extra ADTs and should not be a recursive function. The prototype of the function is shown below: void threadtraversal(treenode * root); You can safely assume that the function, visit, that performs actions on the data stored in the tree nodes has been developed (you do not need to implement this function). The prototype of function visit is shown below: 14
15 void visit(string & data); void threadtraversal(treenode * root) if (root == 0) return; Node *ptr = root; while (ptr->left!= 0) ptr = ptr->left; while (ptr!= 0) visit(ptr->data); if (ptr->rightthread == true) ptr = ptr->right; else ptr = ptr->right; while (ptr->leftthread == false) ptr = ptr->left; 12. A set is a collection of distinct objects. You are asked to develop a class Set. To do that, a dynamically allocated array is used to store the objects and template is used so that different Set objects can be created to store different types of objects. The Set class should have the following methods: a default constructor, the default size of the array is 128. a constructor that takes an integer as its parameter and use that integer as the size of the array. a destructor that releases the array space. insert an object into the set. This function should return true if the insertion is successful, and return false if the insertion fails (i.e., the object is already in the set). remove an object from the set. This function should return true if the object was in the set and the remove is successful, and return false if the object was not in the set at all. 15
16 Your tasks include: (a) Design the interface of the templated class Set, including its public methods mentioned above and its private data fields. template <class T> class Set public: Set(); Set(int); ~Set(); bool insert(t); bool remove(t); private: static const int DefaultCap = 128; T *data; int size; int cap; ; (b) Implement the two constructors and the destructor of class Set. template <class T> Set<T>::Set() cap = DefaultCap; data = new T[cap]; size = 0; template <class T> Set<T>::Set(int customercap) cap = customercap; data = new T[cap]; size = 0; template <class T> Set<T>::~Set() 16
17 delete [] data; (c) Write a block of main function code that declares two Set objects. One Set object is used to store integers and the size of the set is left as the default one. The other Set object is used to store pointers pointing to integers and the size of the set should be 200. Set<int> intset; Set<int *> pointerset(200); ====== END OF EXAM QUESTIONS ====== 17
Example Final Questions Instructions
Example Final Questions Instructions This exam paper contains a set of sample final exam questions. It is for practice purposes only. You ll most likely need longer than three hours to answer all the questions.
More informationCSCE 110 PROGRAMMING FUNDAMENTALS
CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 15. Dictionaries (1): A Key Table Class Prof. amr Goneid, AUC 1 Dictionaries(1): A Key Table Class Prof. Amr Goneid, AUC 2 A Key Table
More informationLinked List using a Sentinel
Linked List using a Sentinel Linked List.h / Linked List.h Using a sentinel for search Created by Enoch Hwang on 2/1/10. Copyright 2010 La Sierra University. All rights reserved. / #include
More informationData Structures and Algorithms
Data Structures and Algorithms First Semester 2017/2018 Linked Lists Eng. Anis Nazer Linked List ADT Is a list of nodes Each node has: data (can be any thing, int, char, Person, Point, day,...) link to
More informationThis examination has 11 pages. Check that you have a complete paper.
MARKING KEY The University of British Columbia MARKING KEY Computer Science 252 2nd Midterm Exam 6:30 PM, Monday, November 8, 2004 Instructors: K. Booth & N. Hutchinson Time: 90 minutes Total marks: 90
More informationCSE030 Fall 2012 Final Exam Friday, December 14, PM
CSE030 Fall 2012 Final Exam Friday, December 14, 2012 3-6PM Write your name here and at the top of each page! Name: Select your lab session: Tuesdays Thursdays Paper. If you have any questions or need
More informationPart I: Short Answer (12 questions, 65 points total)
CSE 143 Sp01 Final Exam Sample Solution page 1 of 14 Part I: Short Answer (12 questions, 65 points total) Answer all of the following questions. READ EACH QUESTION CAREFULLY. Answer each question in the
More informationl Determine if a number is odd or even l Determine if a number/character is in a range - 1 to 10 (inclusive) - between a and z (inclusive)
Final Exam Exercises Chapters 1-7 + 11 Write C++ code to: l Determine if a number is odd or even CS 2308 Fall 2016 Jill Seaman l Determine if a number/character is in a range - 1 to 10 (inclusive) - between
More informationMore Group HW. #ifndef Stackh #define Stackh. #include <cstdlib> using namespace std;
More Group HW The following code is contained in the file ex1stck.h. Fill in the blanks with the C++ statement(s) that will correctly finish the method. Each blank may be filled in with more than one statement.
More informationMultiple choice questions. Answer on Scantron Form. 4 points each (100 points) Which is NOT a reasonable conclusion to this sentence:
Multiple choice questions Answer on Scantron Form 4 points each (100 points) 1. Which is NOT a reasonable conclusion to this sentence: Multiple constructors for a class... A. are distinguished by the number
More informationUniversity of Illinois at Urbana-Champaign Department of Computer Science. First Examination
University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2007 7p-9p, Thursday, March 1 Name: NetID: Lab Section
More informationChapter 20: Binary Trees
Chapter 20: Binary Trees 20.1 Definition and Application of Binary Trees Definition and Application of Binary Trees Binary tree: a nonlinear linked list in which each node may point to 0, 1, or two other
More informationCSCE 110 PROGRAMMING FUNDAMENTALS
CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 16. Linked Lists Prof. amr Goneid, AUC 1 Linked Lists Prof. amr Goneid, AUC 2 Linked Lists The Linked List Structure Some Linked List
More informationMidterm Review. PIC 10B Spring 2018
Midterm Review PIC 10B Spring 2018 Q1 What is size t and when should it be used? A1 size t is an unsigned integer type used for indexing containers and holding the size of a container. It is guarenteed
More informationInheritance, and Polymorphism.
Inheritance and Polymorphism by Yukong Zhang Object-oriented programming languages are the most widely used modern programming languages. They model programming based on objects which are very close to
More informationUniversity of Illinois at Urbana-Champaign Department of Computer Science. Second Examination
University of Illinois at Urbana-Champaign Department of Computer Science Second Examination CS 225 Data Structures and Software Principles Spring 2012 7p-9p, Tuesday, April 3 Name: NetID: Lab Section
More informationMULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR
STUDENT IDENTIFICATION NO MULTIMEDIA COLLEGE JALAN GURNEY KIRI 54100 KUALA LUMPUR FIFTH SEMESTER FINAL EXAMINATION, 2014/2015 SESSION PSD2023 ALGORITHM & DATA STRUCTURE DSEW-E-F-2/13 25 MAY 2015 9.00 AM
More informationSCJ2013 Data Structure & Algorithms. Binary Search Tree. Nor Bahiah Hj Ahmad
SCJ2013 Data Structure & Algorithms Binary Search Tree Nor Bahiah Hj Ahmad Binary Search Tree A binary search tree has the following properties: For every node n in the tree Value of n is greater than
More informationUniversity of Illinois at Urbana-Champaign Department of Computer Science. First Examination
University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2007 7p-9p, Thursday, March 1 Name: NetID: Lab Section
More informationDATA STRUCTURES AND ALGORITHMS LECTURE 08 QUEUES IMRAN IHSAN ASSISTANT PROFESSOR AIR UNIVERSITY, ISLAMABAD
DATA STRUCTURES AND ALGORITHMS LECTURE 08 S IMRAN IHSAN ASSISTANT PROFESSOR AIR UNIVERSITY, ISLAMABAD S ABSTRACT DATA TYPE An Abstract Queue (Queue ADT) is an abstract data type that emphasizes specific
More informationFirst Examination. CS 225 Data Structures and Software Principles Spring p-9p, Tuesday, February 19
Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2008 7p-9p, Tuesday, February 19 Name: NetID: Lab Section (Day/Time): This is a closed book and closed
More informationTutorial AVL TREES. arra[5] = {1,2,3,4,5} arrb[8] = {20,30,80,40,10,60,50,70} FIGURE 1 Equivalent Binary Search and AVL Trees. arra = {1, 2, 3, 4, 5}
1 Tutorial AVL TREES Binary search trees are designed for efficient access to data. In some cases, however, a binary search tree is degenerate or "almost degenerate" with most of the n elements descending
More informationChapter 12: Searching: Binary Trees and Hash Tables. Exercises 12.1
Chapter 12: Searching: Binary Trees and Hash Tables Exercises 12.1 1. 4, 6 2. 4, 1, 2, 3 3. 4, 6, 5 4. 4, 1, 0 5. 4, 6, 7, 8 6. template linearsearch(elementtype x[], ElementType
More informationCpt S 122 Data Structures. Course Review FINAL. Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University
Cpt S 122 Data Structures Course Review FINAL Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Final When: Wednesday (12/12) 1:00 pm -3:00 pm Where: In Class
More informationReview Questions for Final Exam
CS 102 / ECE 206 Spring 11 Review Questions for Final Exam The following review questions are similar to the kinds of questions you will be expected to answer on the Final Exam, which will cover LCR, chs.
More informationTree: non-recursive definition. Trees, Binary Search Trees, and Heaps. Tree: recursive definition. Tree: example.
Trees, Binary Search Trees, and Heaps CS 5301 Fall 2013 Jill Seaman Tree: non-recursive definition Tree: set of nodes and directed edges - root: one node is distinguished as the root - Every node (except
More information! A data type for which: ! An ADT may be implemented using various. ! Examples:
Stacks and Queues Unit 6 Chapter 19.1-2,4-5 CS 2308 Fall 2018 Jill Seaman 1 Abstract Data Type A data type for which: - only the properties of the data and the operations to be performed on the data are
More informationIntroduction to the C programming language
Introduction to the C programming language From C to C++: Stack and Queue Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 23, 2010 Outline 1 From struct to classes
More informationStudent Name and ID CS 32, WINTER 2015, PRACTICE MIDTERM I.
UCLA Computer Science Department TA: Kung-Hua Chang Student Name and ID CS 32, WINTER 2015, PRACTICE MIDTERM I. Problem # Maximal Possible Points Received 1.1 3 1.2 5 1.3 5 1.4 5 1.5 5 2 3 3.1 4 3.2 5
More informationIntroduction to the C programming language
Introduction to the C programming language From C to C++: Stack and Queue Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 23, 2010 Outline 1 From struct to classes
More information1 #include <iostream> 2 #include <fstream> 3 #include <string> 4 #include <cstring> // for string tokenizer and c-style string processing 5 #include
1 #include 2 #include 3 #include 4 #include // for string tokenizer and c-style string processing 5 #include // max function 6 7 using namespace std;
More informationCS 216 Exam 1 Fall SOLUTION
CS 216 Exam 1 Fall 2004 - SOLUTION Name: Lab Section: Email Address: Student ID # This exam is closed note, closed book. You will have an hour and fifty minutes total to complete the exam. You may NOT
More informationselectors, methodsinsert() andto_string() the depth of a tree and a membership function
Binary Search Trees 1 Sorting Numbers using a Tree a sorting algorithm using a tree of integer numbers 2 Header Files defining a node struct defining a tree class 3 Definition of Methods selectors, methodsinsert()
More informationJordan University of Science & Technology Department of Computer Science CS 211 Exam #1 (23/10/2010) -- Form A
Jordan University of Science & Technology Department of Computer Science CS 211 Exam #1 (23/10/2010) -- Form A Name: ID#: Section #: Day & Time: Instructor: Answer all questions as indicated. Closed book/closed
More informationProgramming in C++: Assignment Week 8
Programming in C++: Assignment Week 8 Total Marks : 20 September 9, 2017 Question 1 Consider the following code segment. Mark 2 void myfunction(int test) { try { if (test) throw test; else throw "Value
More information! Determine if a number is odd or even. ! Determine if a number/character is in a range. - 1 to 10 (inclusive) - between a and z (inclusive)
Final Exam Exercises CS 2308 Spring 2014 Jill Seaman Chapters 1-7 + 11 Write C++ code to: Determine if a number is odd or even Determine if a number/character is in a range - 1 to 10 (inclusive) - between
More informationCSE143 Exam with answers Problem numbering may differ from the test as given. Midterm #2 February 16, 2001
CSE143 Exam with answers Problem numbering may differ from the test as given. All multiple choice questions are equally weighted. You can generally assume that code shown in the questions is intended to
More informationSTRUCTURING OF PROGRAM
Unit III MULTIPLE CHOICE QUESTIONS 1. Which of the following is the functionality of Data Abstraction? (a) Reduce Complexity (c) Parallelism Unit III 3.1 (b) Binds together code and data (d) None of the
More informationMARKING KEY The University of British Columbia MARKING KEY Computer Science 260 Final Examination 8:30 AM, Wednesday, April 18, 2012
MARKING KEY The University of British Columbia MARKING KEY Computer Science 260 Final Examination 8:30 AM, Wednesday, April 18, 2012 Instructor: K. S. Booth Time: 150 minutes (two hours thirty minutes)
More informationCOMP 250 Midterm #2 March 11 th 2013
NAME: STUDENT ID: COMP 250 Midterm #2 March 11 th 2013 - This exam has 6 pages - This is an open book and open notes exam. No electronic equipment is allowed. 1) Questions with short answers (28 points;
More informationModule 6: Binary Trees
Module : Binary Trees Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 327 E-mail: natarajan.meghanathan@jsums.edu Tree All the data structures we have seen
More informationName CPTR246 Spring '17 (100 total points) Exam 3
Name CPTR246 Spring '17 (100 total points) Exam 3 1. Linked Lists Consider the following linked list of integers (sorted from lowest to highest) and the changes described. Make the necessary changes in
More information05-01 Discussion Notes
05-01 Discussion Notes PIC 10B Spring 2018 1 Exceptions 1.1 Introduction Exceptions are used to signify that a function is being used incorrectly. Once an exception is thrown, it is up to the programmer
More information1 Short Answer (10 Points Each)
Name: Write all of your responses on these exam pages. If you need extra space please use the backs of the pages. 1 Short Answer (10 Points Each) 1. Write a function that will take as input a pointer to
More informationC++_ MARKS 40 MIN
C++_16.9.2018 40 MARKS 40 MIN https://tinyurl.com/ya62ayzs 1) Declaration of a pointer more than once may cause A. Error B. Abort C. Trap D. Null 2Whice is not a correct variable type in C++? A. float
More informationExam 2. CSI 201: Computer Science 1 Fall 2016 Professors: Shaun Ramsey and Kyle Wilson. Question Points Score Total: 80
Exam 2 CSI 201: Computer Science 1 Fall 2016 Professors: Shaun Ramsey and Kyle Wilson Question Points Score 1 18 2 29 3 18 4 15 Total: 80 I understand that this exam is closed book and closed note and
More informationCMSC 341 Lecture 10 Binary Search Trees
CMSC 341 Lecture 10 Binary Search Trees John Park Based on slides from previous iterations of this course Review: Tree Traversals 2 Traversal Preorder, Inorder, Postorder H X M A K B E N Y L G W UMBC CMSC
More informationdouble d0, d1, d2, d3; double * dp = new double[4]; double da[4];
All multiple choice questions are equally weighted. You can generally assume that code shown in the questions is intended to be syntactically correct, unless something in the question or one of the answers
More informationECE 250 Data Structures and Algorithms MIDTERM EXAMINATION /5:30-7:00
The examination is out of 66 marks. ECE 250 Data Structures and Algorithms MIDTERM EXAMINATION 2007-10-25/5:30-7:00 Instructions: No aides. Turn off all electronic media and store them under your desk.
More informationMARKING KEY The University of British Columbia MARKING KEY Computer Science 260 Midterm #2 Examination 12:30 noon, Thursday, March 15, 2012
MARKING KEY The University of British Columbia MARKING KEY Computer Science 260 Midterm #2 Examination 12:30 noon, Thursday, March 15, 2012 Instructor: K. S. Booth Time: 70 minutes (one hour ten minutes)
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationData Structures And Algorithms
Data Structures And Algorithms Stacks Eng. Anis Nazer First Semester 2017-2018 Stack An Abstract data type (ADT) Accessed only on one end Similar to a stack of dishes you can add/remove on top of stack
More informationCMSC 202 Section 010x Spring Justin Martineau, Tuesday 11:30am
CMSC 202 Section 010x Spring 2007 Computer Science II Final Exam Name: Username: Score Max Section: (check one) 0101 - Justin Martineau, Tuesday 11:30am 0102 - Sandeep Balijepalli, Thursday 11:30am 0103
More informationMidterm Examination. Instructor: Gary Chan Date: Saturday, 23 October 2010 Time: 2:30pm 4:00pm Venue: LTC
THE HONG KONG UNIVERSITY OF SCIENCE & TECHNOLOGY Department of Computer Science & Engineering COMP 152: Object-Oriented Programming and Data Structures Fall 2010 Midterm Examination Instructor: Gary Chan
More informationCSE 143. Linked Lists. Linked Lists. Manipulating Nodes (1) Creating Nodes. Manipulating Nodes (3) Manipulating Nodes (2) CSE 143 1
CSE 143 Linked Lists [Chapter 4; Chapter 6, pp. 265-271] Linked Lists A linked list is a collection of dynamically allocated nodes Each node contains at least one member (field) that points to another
More informationChapter 17: Linked Lists
Chapter 17: Linked Lists 17.1 Introduction to the Linked List ADT Introduction to the Linked List ADT Linked list: set of data structures (nodes) that contain references to other data structures list head
More information! Tree: set of nodes and directed edges. ! Parent: source node of directed edge. ! Child: terminal node of directed edge
Trees (& Heaps) Week 12 Gaddis: 20 Weiss: 21.1-3 CS 5301 Spring 2015 Jill Seaman 1 Tree: non-recursive definition! Tree: set of nodes and directed edges - root: one node is distinguished as the root -
More informationAN OVERVIEW OF C++ 1
AN OVERVIEW OF C++ 1 OBJECTIVES Introduction What is object-oriented programming? Two versions of C++ C++ console I/O C++ comments Classes: A first look Some differences between C and C++ Introducing function
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationTopic Binary Trees (Non-Linear Data Structures)
Topic Binary Trees (Non-Linear Data Structures) CIS210 1 Linear Data Structures Arrays Linked lists Skip lists Self-organizing lists CIS210 2 Non-Linear Data Structures Hierarchical representation? Trees
More informationCS 6456 OBJCET ORIENTED PROGRAMMING IV SEMESTER/EEE
CS 6456 OBJCET ORIENTED PROGRAMMING IV SEMESTER/EEE PART A UNIT I 1. Differentiate object oriented programming from procedure oriented programming. 2. Define abstraction and encapsulation. 3. Differentiate
More informationExam Informatik D-MATH/D-PHYS :00 11:00
Exam Informatik D-MATH/D-PHYS 25. 1. 2013 09:00 11:00 Dr. Bernd Gartner Examinee: Last name:... First name:... Stud. no.:... With my signature I attest, that I was able to sit the exam under regular conditions
More informationCA341 - Comparative Programming Languages
CA341 - Comparative Programming Languages David Sinclair Dynamic Data Structures Generally we do not know how much data a program will have to process. There are 2 ways to handle this: Create a fixed data
More informationAssignment of Objects
Copying Objects 1 Assignment of Objects 2 Slides 1. Table of Contents 2. Assignment of Objects 3. Dynamic Content 4. Shallow Copying 5. Deep Copying 6. this Pointer 7. Improved Deep Copy 8. Passing an
More information! Operators such as =, +, <, can be defined to. ! The function names are operator followed by the. ! Otherwise they are like normal member functions:
Operator Overloading, Lists and Templates Week 6 Gaddis: 14.5, 16.2-16.4 CS 5301 Spring 2016 Jill Seaman Operator Overloading! Operators such as =, +,
More informationAgenda. The main body and cout. Fundamental data types. Declarations and definitions. Control structures
The main body and cout Agenda 1 Fundamental data types Declarations and definitions Control structures References, pass-by-value vs pass-by-references The main body and cout 2 C++ IS AN OO EXTENSION OF
More information3137 Data Structures and Algorithms in C++
3137 Data Structures and Algorithms in C++ Lecture 3 July 12 2006 Shlomo Hershkop 1 Announcements Homework 2 out tonight Please make sure you complete hw1 asap if you have issues, please contact me will
More informationObject Oriented Programming COP3330 / CGS5409
Object Oriented Programming COP3330 / CGS5409 Intro to Data Structures Vectors Linked Lists Queues Stacks C++ has some built-in methods of storing compound data in useful ways, like arrays and structs.
More informationWelcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 8/19/ Review. Here s a simple C++ program:
Welcome Back CSCI 262 Data Structures 2 - Review What you learned in CSCI 261 (or equivalent): Variables Types Arrays Expressions Conditionals Branches & Loops Functions Recursion Classes & Objects Streams
More informationPOLYMORPHISM 2 PART Abstract Classes Static and Dynamic Casting Common Programming Errors
POLYMORPHISM 2 PART Abstract Classes Static and Dynamic Casting Common Programming Errors CSC 330 OO Software Design 1 Abstract Base Classes class B { // base class virtual void m( ) =0; // pure virtual
More informationPOLYMORPHISM 2 PART. Shared Interface. Discussions. Abstract Base Classes. Abstract Base Classes and Pure Virtual Methods EXAMPLE
Abstract Base Classes POLYMORPHISM 2 PART Abstract Classes Static and Dynamic Casting Common Programming Errors class B { // base class virtual void m( ) =0; // pure virtual function class D1 : public
More informationLab 2: Pointers. //declare a pointer variable ptr1 pointing to x. //change the value of x to 10 through ptr1
Lab 2: Pointers 1. Goals Further understanding of pointer variables Passing parameters to functions by address (pointers) and by references Creating and using dynamic arrays Combing pointers, structures
More informationTrees, Heaps, and Priority Queues
Chapter 17 Trees, Heaps, and Priority Queues Objectives To know how to represent and access the elements in a binary tree ( 17.2.1-17.2.2). To insert an element to a binary tree ( 17.2.3). To traverse
More informationPreface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS
Contents Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS 1.1. INTRODUCTION TO COMPUTERS... 1 1.2. HISTORY OF C & C++... 3 1.3. DESIGN, DEVELOPMENT AND EXECUTION OF A PROGRAM... 3 1.4 TESTING OF PROGRAMS...
More informationCMSC 202 Final May 19, Name: UserID: (Circle your section) Section: 101 Tuesday 11: Thursday 11:30
CMSC 202 Final May 19, 2005 Name: UserID: (Circle your section) Section: 101 Tuesday 11:30 102 Thursday 11:30 Directions 103 Tuesday 12:30 104 Thursday 12:30 105 Tuesday 1:30 106 Thursday 1:30 This is
More informationECE 250 Data Structures and Algorithms MID-TERM EXAMINATION B /13:30-14:50 MC-4021/RCH-211
ECE 250 Data Structures and Algorithms MID-TERM EXAMINATION B 2011-02-15/13:30-14:50 MC-4021/RCH-211 Instructions: There are 63 marks. It will be marked out of 55. No aides. Turn off all electronic media
More informationCMSC 341 Lecture 7 Lists
CMSC 341 Lecture 7 Lists Today s Topics Linked Lists vs Arrays Nodes Using Linked Lists Supporting Actors (member variables) Overview Creation Traversal Deletion UMBC CMSC 341 Lists 2 Linked Lists vs Arrays
More informationCPSC 221: Algorithms and Data Structures Lecture #1: Stacks and Queues
CPSC 221: Algorithms and Data Structures Lecture #1: Stacks and Queues Alan J. Hu (Slides borrowed from Steve Wolfman) Be sure to check course webpage! http://www.ugrad.cs.ubc.ca/~cs221 1 Lab 1 is available.
More information! Determine if a number is odd or even. ! Determine if a number/character is in a range. - 1 to 10 (inclusive) - between a and z (inclusive)
Final Exam Exercises Chapters 1-7 + 11 Write C++ code to:! Determine if a number is odd or even CS 2308 Fall 2018 Jill Seaman! Determine if a number/character is in a range - 1 to 10 (inclusive) - between
More informationChapter 1: Object-Oriented Programming Using C++
Chapter 1: Object-Oriented Programming Using C++ Objectives Looking ahead in this chapter, we ll consider: Abstract Data Types Encapsulation Inheritance Pointers Polymorphism Data Structures and Algorithms
More informationCS 455 Final Exam Spring 2015 [Bono] May 13, 2015
Name: USC netid (e.g., ttrojan): CS 455 Final Exam Spring 2015 [Bono] May 13, 2015 There are 10 problems on the exam, with 73 points total available. There are 10 pages to the exam, including this one;
More informationLab 2: ADT Design & Implementation
Lab 2: ADT Design & Implementation By Dr. Yingwu Zhu, Seattle University 1. Goals In this lab, you are required to use a dynamic array to design and implement an ADT SortedList that maintains a sorted
More informationQuestions: ECE551 PRACTICE Final
ECE551 PRACTICE Final This is a full length practice midterm exam. If you want to take it at exam pace, give yourself 175 minutes to take the entire test. Just like the real exam, each question has a point
More informationExtra Credit: write mystrlen1 as a single function without the second parameter int mystrlen2(char* str)
CPSC 122 Study Guide 3: Final Examination The final examination will consist of three parts: Part 1 covers mostly C++. For this, see study guides 1 and 2, exams 1 and 2, and part of exam 3, and quizzes
More information! A data type for which: ! In fact, an ADT may be implemented by various. ! Examples:
Ch. 8: ADTs: Stacks and Queues Abstract Data Type A data type for which: CS 8 Fall Jill Seaman - only the properties of the data and the operations to be performed on the data are specific, - not concerned
More informationObject oriented programming
Exercises 12 Version 1.0, 9 May, 2017 Table of Contents 1. Virtual destructor and example problems...................................... 1 1.1. Virtual destructor.......................................................
More informationUNIVERSITY REGULATIONS
CPSC 221: Algorithms and Data Structures Midterm Exam, 2013 February 15 Name: Student ID: Signature: Section (circle one): MWF(201) TTh(202) You have 60 minutes to solve the 5 problems on this exam. A
More informationC++ - Lesson 2 This is a function prototype. a' is a function that takes an integer array argument and returns an integer pointer.
C++ - Lesson 2 1. Explain the following declarations: a) int *a(int a[]); This is a function prototype. 'a' is a function that takes an integer array argument and returns an integer pointer. b) const char
More informationData Structures (CS301) LAB
Data Structures (CS301) LAB Objectives The objectives of this LAB are, o Enabling students to implement Doubly Linked List practically using c++ and adding more functionality in it. Introduction to Singly
More informationWelcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 1/9/ Review. Here s a simple C++ program:
Welcome Back CSCI 262 Data Structures 2 - Review What you learned in CSCI 261 (or equivalent): Variables Types Arrays Expressions Conditionals Branches & Loops Functions Recursion Classes & Objects Streams
More informationPointers, Dynamic Data, and Reference Types
Pointers, Dynamic Data, and Reference Types Review on Pointers Reference Variables Dynamic Memory Allocation The new operator The delete operator Dynamic Memory Allocation for Arrays 1 C++ Data Types simple
More informationI BCS-031 BACHELOR OF COMPUTER APPLICATIONS (BCA) (Revised) Term-End Examination. June, 2015 BCS-031 : PROGRAMMING IN C ++
No. of Printed Pages : 3 I BCS-031 BACHELOR OF COMPUTER APPLICATIONS (BCA) (Revised) Term-End Examination 05723. June, 2015 BCS-031 : PROGRAMMING IN C ++ Time : 3 hours Maximum Marks : 100 (Weightage 75%)
More informationCMSC 341 Lecture 6 Templates, Stacks & Queues. Based on slides by Shawn Lupoli & Katherine Gibson at UMBC
CMSC 341 Lecture 6 Templates, Stacks & Queues Based on slides by Shawn Lupoli & Katherine Gibson at UMBC Today s Topics Data types in C++ Overloading functions Templates How to implement them Possible
More informationPurpose of Review. Review some basic C++ Familiarize us with Weiss s style Introduce specific constructs useful for implementing data structures
C++ Review 1 Purpose of Review Review some basic C++ Familiarize us with Weiss s style Introduce specific constructs useful for implementing data structures 2 Class The Class defines the data structure
More informationLecture-5. STL Containers & Iterators
Lecture-5 STL Containers & Iterators Containers as a form of Aggregation Fixed aggregation An object is composed of a fixed set of component objects Variable aggregation An object is composed of a variable
More informationFunction Overloading
Function Overloading C++ supports writing more than one function with the same name but different argument lists How does the compiler know which one the programmer is calling? They have different signatures
More informationWe have the pointers reference the next node in an inorder traversal; called threads
Leaning Objective: In this Module you will be learning the following: Threaded Binary Tree Introduction: Threaded Binary Tree is also a binary tree in which all left child pointers that are NULL (in Linked
More informationSection I B COMPUTER SCIENCE SOLUTION
Computer Science Foundation Exam December 17, 2010 Section I B COMPUTER SCIENCE NO books, notes, or calculators may be used, and you must work entirely on your own. SOLUTION Question # Max Pts Category
More information! Determine if a number is odd or even. ! Determine if a number/character is in a range. ! Assign a category based on ranges (wind speed)
Final Exam Exercises Chapters 1-7 + 11 Write C++ code to:! Determine if a number is odd or even CS 2308 Spring 2013 Jill Seaman! Determine if a number/character is in a range - 1 to 10 (inclusive) - between
More informationSeptember 10,
September 10, 2013 1 Bjarne Stroustrup, AT&T Bell Labs, early 80s cfront original C++ to C translator Difficult to debug Potentially inefficient Many native compilers exist today C++ is mostly upward compatible
More information