IT 206: Design and Analysis of Algorithms

Final Exam

1. Given an array of n elements, write an algorithm to find a number that has a duplicate.

2. Given the numbers 5, 2, 3, 1, 4, 9, write an algorithm that selects all even numbers in the list and sort them in order.

3. What is the main difference between a “while” loop and a “do… while” loop?

4. The syntax of a “for” loop is:

for (init; condition; increment)

{

statement(s);

}

Write a “for” loop using these four lines above to write the letter “a” 8 times.

5. Given the following declaration:

int Prime[ ] = {1, 3, 5, 7, 11, 13};

Write the value for Prime[4]: _________

What does Prime[ ] represent? ________________

Answer questions 6-7 based on the following program function:

int factorial(int n)

{

if (n==0)

return 1;

else

return (n * factorial(n-1));

}

6. What value is returned from the function above if you run the following line in the main program?

factorial(0);

7. Explain what will happen in line 6 (the last return line).