Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

4. A binary search algorithm is written (as in the modules, for example) which searches a pre-sorted array for some user-defined value, clientData . If

4.

A binary search algorithm is written (as in the modules, for example) which searches a pre-sorted array for some user-defined value, clientData. If clientData is stored in the array, it returns its array position, and if not found, it returns -1 (again, just like in the modules). Assume the array to be searched has 100 data elements in it. (Check all that apply):

[NOTE: due to common off-by-one interpretations when counting such things, if your predicted answer is within one (+1 or -1) of a posted option below, you can assume your prediction and the choice you are looking at are equivalent and check that option.]

A. It might return to the client with an answer after only one comparison of data.
B. It may require as many as 99 comparisons of data before it returns.
C. It will always return with an answer in 7 or fewer comparisons of data.
D.

It will always return with an answer in 3 or fewer comparisons of data.

3.

Assume MyClass defines two nested exception classes, BadNumber and BadString. Also, assume that MyClass's method doSomething() throws these exceptions under certain error conditions, and returns without throwing anything when it decides no error has occurred. We call doSomething four times in a try/catch block:

 MyClass a; try { a.doSomething(); a.doSomething(); a.doSomething(); a.doSomething(); } catch (MyClass::BadNumber) { cout << " bad number " << endl; } catch (MyClass::BadString) { cout << " bad string " << endl; } catch (...) { cout << " just generally bad " << endl; } 

Check the true statements (there will be more than one correct answer).

[Ignore whether spaces or ' ' are displayed - it is the words of the cout statements that we are interested in.]

A. It is possible neither "bad number" nor "bad string" is displayed on the screen after this block.
B. It is possible none of "bad number", "bad string" or "just generally bad" is displayed on the screen after this block.
C. It is possible both "bad number" and "bad string" is displayed on the screen after this block.
D. It is possible that doSomething() will return without error in one or more of these invocations, yet we still have one of "bad number", "bad string" or "just generally bad" displayed on the screen after this block.
E.

It is possible that this block will be called without anything being displayed on the screen.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

C++ Database Development

Authors: Al Stevens

1st Edition

1558283579, 978-1558283572

More Books

Students also viewed these Databases questions