Sample Questions From Past Midterm I Exams For CS10051
This is meant to be representative of the type of questions asked, the level of difficulty and approximate test length. Actual questions will vary. The Review sheets or study guides posted for Chapters 1-3 reflect the range of subject matter on which questions will be based.
True/False (20 Points)
Indicate whether the sentence or statement is true or false.
____ 1. Whether or not an operation is a primitive depends, in part, on the computing agent that is expected to execute it.
____ 2. John Von Neumann created the modern computer architecture when he developed a computer that stored its program in its own memory.
____ 3. The operation “If it is raining outside, then take an umbrella with you” is a conditional operation.
____ 4. A person who carries out the steps contained in an algorithm must understand the concepts or ideas underlying the solution.
____ 5. In pseudocode, it does not matter exactly how you choose to write your instructions as long as the intent is clear and unambiguous.
____ 6. Sequential statements allow an algorithm to ask a question and, on the basis of the answer to that question, select the next operation to perform.
____ 7. One of the properties of an algorithm is that it must eventually halt.
____ 8. The more elegant the solution to a problem, the more difficult it may be to understand.
____ 9. The selection sort algorithm does the same amount of work no matter how the items in the list are initially arranged.
____ 10. The binary search algorithm works for both sorted and unsorted lists.
Multiple Choice (20 points)
Identify the letter of the choice that best completes the statement or answers the question.
____ 11. The operation “While the water is heating, stir the sauce once every 2 minutes” is a(n) _____ operation.
a. / sequential / c. / iterativeb. / conditional / d. / hierarchal
____ 12. In computer science terminology, the machine, robot, person, or thing carrying out the steps of an algorithm is called a(n) _____.
a. / computer programmer / c. / algorithm designerb. / computing agent / d. / algorithm analyzer
____ 13. _____ operations allow the computing agent to receive data values from the outside world that it may then use in later instructions.
a. / ingoing / c. / inputb. / outgoing / d. / output
____ 14. The technique of looking at all the items in a list, one at a time, until we either find what we are looking for or come to the end of the list is called _____ search.
a. / sequential / c. / iterativeb. / control / d. / random
____ 15. In the sequential search algorithm, if the value being searched for is the very first value in the list, _____.
a. / no comparisons are required / c. / two comparisons are requiredb. / only one comparison is required / d. / n comparisons are required
____ 16. The _____ case of an algorithm requires the maximum amount of work.
a. / best / c. / smallestb. / worst / d. / largest
____ 17. In the sequential search algorithm, the worst case occurs when the value being searched for is the _____ value in the list.
a. / first / c. / middleb. / second / d. / last
____ 18. The shuffle-left algorithm is a(n) _____ algorithm in the worst case.
a. / 1 / c. / Q(n)b. / Q(2n) / d. / Q(n2)
____ 19. The binary search algorithm is _____ in the worst case.
a. / 1 / c. / Q(n2)b. / Q(n) / d. / Q(lg n)
____ 20. An _____ algorithm is called an exponential algorithm.
a. / Q(n) / c. / Q(2n)b. / Q(n2) / d. / Q(lg n)
Numeric Response (10 points)
21. _____ When using binary search to locate Aphrodite in the following list, how many names will be compared to Aphrodite?
Aphrodite, Apollo, Ares, Dionysos, Hera, Poseidon, Zeus
22. _____ What is the worst case number of comparisons a sequential search will use to find a name in a list of 130 names?
23. _____ Assume you have just sorted list L into numerical order using Selection Sort.It took 19 swaps and 190 comparisons. How many comparisons will it take to sort List L, once it is already in sorted order?
24. _____ Assume you want to find the largest number in a list of 190 integers. How many comparisons will the Find Largest algorithm need to make?
25. _____ If you perform a binary search on an ordered list of 16 names, what is the most number of comparisons needed to find any name on the list?
Problem
26. (10 pts) Write an algorithm in pseudcode which will solve the following problem:
Assume that the user wants to drive 350 miles in their car and that their 12 gallon gas tank is full. Get as input the car’s fuel efficiency in miles_per_gallon. Determine whether the gas tank holds enough fuel for the trip. Print out the appropriate message: “You will need to refuel before the trip is over” or “You can make it on one tank of gas”.
______
27. (10 pts) The following algorithm is supposed to calculate the product of the integers 1...N and print out the result. For example, if N is 4, the program should print out 24, which is 1*2*3*4.
There are 4 errors in the algorithm as written. Find 3 of them and explain how to correct the error.
01 Steps for FactN with N
02 Set Value of Fact to 0
03 Set Value of I to 1
04 While Value of I <= N Do
05 Set Value of Fact to Fact + I
06 Endwhile
07 Output Value of Fact
Error 1______
______
Error 2______
______
Error 3______
______
Essay
28. (10 Pts) Efficiency is one of the most important attributes of an algorithm. In detail, describe what we mean by the efficiency of an algorithm and explain how we measure it.
Other
29.
(10 pts) The above chart plots running time versus N ( amount of input data ) for five different algorithms (A - E). Match each algorithm with the proper order of magnitude below.
O(1) O(lg N) O(N) O(N2) O(2N)
______
30. (10 Pts) Draw a Binary Search Tree for the following list of names:
Arturo, Elsa, JoAnn, John, Jose, Lee, Snyder, Tracy
Answers to Sample Midterm I – CS10051
TRUE/FALSE
1. ANS: T REF: 13
2. ANS: T REF: 23
3. ANS: T REF: 5
4. ANS: F REF: 8
5. ANS: T REF: 46
6. ANS: F REF: 48
7. ANS: T REF: 62
8. ANS: T REF: 80
9. ANS: T REF: 91
10. ANS: F REF: 105
MULTIPLE CHOICE
11. ANS: C REF: 6
12. ANS: B REF: 8
13. ANS: C REF: 46
14. ANS: A REF: 55
15. ANS: B REF: 84
16. ANS: B REF: 84
17. ANS: D REF: 84
18. ANS: D REF: 101
19. ANS: D REF: 112
20. ANS: C REF: 114
NUMERIC RESPONSE
21. ANS:
3
22. ANS:
130
23. ANS:
190
24. ANS:
189
25. ANS:
lg(16) (rounded down) + 1 = 4+1 = 5
PROBLEM
26. ANS:
Assumptions: 350 mile trip; 12 gallons of fuel;
Input: fuel usage in miles-per-gallon
Output: “You will need to refuel before the trip is over” or “You can make it on one tank of gas”
Calculation: miles_before_fillup = 12 * miles_per_gallon
Algorithm:
Get value for miles_per_gallon
Set value of miles_before_fillup to 12 * mile_per_gallon
If (miles_before_fillup > 350) Then
Print “You can make it on one tank of gas”
Otherwise
Print “You will need to refuel before the trip is over”
EndIf
Stop
27. ANS:
01 Steps for FactN with N
02 Set Value of Fact to 0 // error #1; set Fact to 1
03 Set value of I to 1
04 While Value of I <= N Do
05 Set value of Fact to Fact + I // error #2; should be Fact * I
06 Endwhile // error #3; need line 5.5 Set value of I to I + 1
07 Output Value of Fact
08 // error # 4 need a End command
A corrected version
01 Steps for FactN with N
02 Set Value of Fact to 1
03 Set value of I to 1
04 While Value of I <= N Do
05 Set value of Fact to Fact * I
06 Set value of I to I + 1
07 Endwhile
08 Output Value of Fact
09 End
ESSAY
28. ANS: A correct answer should refer to both space efficiency and time efficiency. Explain what space efficiency is. Discuss how we measure amount of space (memory) used ( i.e. storage needed to execute the algorithm above and beyond storage for initial data). Discuss what it means to say that algorithm A is more space efficient than algorithm B. Discuss “order of magnitude” as it applies to describing how space efficient an algorithm is
Explain what we mean by time efficiency. Make the point that we are really are interested in expressing the amount of work an algorithm does, not time per se, when we talk about time efficiency. This allows us to talk about efficiency, independent of the particular machine the algorithm is executed on. Explain that “time”efficiency is a measure of the amount of work an algorithm does, usually in the worst case, for a given amount of input data. Discuss “order of magnitude” as it applies to “time” efficiency. Discuss what it means to say that algorithm A is more time efficient than algorithm B.
OTHER
29. ANS:
D O(1) E O(lg N) B O(N) C O(N2) A O(2N)
30. ANS: