Завдання лабораторної роботи

1. Перед початком роботи повторити теоретичний матеріал про організацію рекурсивних обчислень, структуру, форми запису, схеми вико­нання, переваги та недоліки рекурсивних функцій.

2. Розробити алгоритм розв’язування задачі з індивідуального завдання.

3. Написати ітераційний (нерекурсивний) варіант (або кілька варіантів) заданої функції. У процесі роботи ця функція може звертатися до інших допоміжних функцій.

4. Записати основну програму, в якій забезпечити введення вхідних даних для перевірки правильності роботи розробленої функції та зручне відображення результатів на екрані. Якщо це сприятливо для програми, то розробити відповідні функції, наприклад, для введення та виведення даних, виконання певних перетворень або перевірок тощо.

5. Ввести текст програми та зберегти його в особистому каталозі.

6. Реалізувати програму для декількох наборів вхідних даних і занотувати результати.

7. Написати рекурсивний варіант реалізації заданої функції. Можливо, що рекурсивна функція буде викликатися з іншої додаткової функції або рекурсивна функція буде виконувати тільки якусь частину з того завдання, яке має виконувати вказана функція. Обов’язково треба звернути увагу на базис – умову завершення рекурсії та на коректне задання параметрів і запис рекурсивних викликів. Яку рекурсію – хвостову чи внутрішню краще застосувати в рекурсивній функції? Яка між ними різниця?

8. Реалізувати програму з рекурсивною функцією для тих самих вхідних даних, що застосовувалися при виконанні п.5, і порівняти отримані результати. Записати їх у звіт.

9. Доповнити рекурсивну функцію операторами виведення номера виклику функції. Для цього можна скористатись одним із параметрів функції, а якщо відповідного немає, то доповнити список таким параметром. Можна також застосувати відповідно оголошену глобальну або статичну змінну. Значення цього контрольного параметра треба виводити перед рекурсивним викликом і після нього з відповідним текстовим повідомленням. Запустити програму для рекурсії невеликої глибини (3-5). Проаналізувати виведені значення, пояснити їх і занести у звіт.

10. Оформити звіт з лабораторної роботи. У висновках до роботи порівняти рекурсивний та ітераційний (нерекурсивний) варіанти реалізації заданих функцій.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: