(a) |
Distinguish between iterative and recursive problem-solving techniques and demonstrate how to accomplish a specific task using both approaches. |
(b) |
Create recursive functions and use them in programs to solve problems such as calculating factorials, evaluating exponents, designing fractal images or calculating the Fibonacci sequence. |
(c) |
Discuss the processes (e.g., the stack, stack frames and maximum recursion depth) involved in evaluating recursive functions. |
(d) |
Identity the advantages and disadvantages of using recursive problems. |
(e) |
Provide examples of situations where sorting is used to solve problems. |
(f) |
Discuss the importance of efficiency in sorting algorithms. |
(g) |
Analyze the execution of insertion, selection and quicksort algorithms using visualizations. |
(h) |
Illustrate the implementation of a sorting algorithm (e.g., selection, insertion, and quicksort) using pseudocode. |
(i) |
Create a program to sort data in an array using one or more sorting algorithms (e.g., selection, insertion, quicksort). |