Актуалізація опорних знань з теми "Рекурсивнi функції"

Додано: 17 грудня 2023
Предмет: Інформатика, 10 клас
10 запитань
Запитання 1

Що таке рекурсивний виклик функції?

варіанти відповідей

Виклик функції в іншій функції

Виклик функції в самій себе

Виклик функції вбудованої в Python

Запитання 2

Яка умова повинна бути виконана, щоб рекурсивна функція завершилася?

варіанти відповідей

Наявність ключового слова "end"

Наявність змінної "stop"

Наявність базового випадку

Запитання 3

Що таке базовий випадок в рекурсивній функції?

варіанти відповідей

Випадок, коли функція викликає іншу функцію

Випадок, коли функція завершується без нового рекурсивного виклику

Випадок, коли функція має аргумент "base"

Запитання 4

Як базовий випадок допомагає уникнути безкінечної рекурсії?

варіанти відповідей

Завершує виконання програми

Завершує рекурсивні виклики

Запускає новий рекурсивний виклик

Запитання 5

Що таке "RecursionError" у Python?

варіанти відповідей

Помилка, пов'язана із рекурсивними викликами

Помилка, пов'язана із змінними

Помилка, пов'язана із синтаксичним аналізом

Запитання 6

Як уникнути перевищення рекурсії?

варіанти відповідей

Використовувати тільки ітерації

Додавати більше рекурсивних викликів

Встановлювати обмеження на глибину рекурсії

Запитання 7

Наведіть приклад рекурсивної функції для обчислення факторіалу числа.

варіанти відповідей

def factorial(n): return n * factorial(n-1)

def factorial(n): return n * factorial(n)

def factorial(n): return 1 if n == 0 else n * factorial(n-1)

Запитання 8

Створіть рекурсивну функцію для обчислення суми елементів списку.

варіанти відповідей

def sum_list(lst): return lst[0] + sum_list(lst[1:])

def sum_list(lst): return sum(lst)

def sum_list(lst): return lst[0] if len(lst) == 1 else lst[0] + sum_list(lst[1:])

Запитання 9

Як можна оптимізувати рекурсивну функцію для обчислення числа Фібоначчі?

варіанти відповідей

Зменшити глибину рекурсії

Застосувати мемоїзацію (збереження проміжних результатів)

Використовувати тільки ітерації

Запитання 10

Напишіть рекурсивну функцію для знаходження найбільшого спільного дільника (НСД) двох чисел.

варіанти відповідей

def nsd(a, b): return a if b == 0 else nsd(b, a % b)

def nsd(a, b): return a % b if b != 0 else a

def nsd(a, b): return b if a % b == 0 else nsd(b, a % b)

Створюйте онлайн-тести
для контролю знань і залучення учнів
до активної роботи у класі та вдома

Створити тест