Главная / Интернет-технологии /
Основы программирования на JavaScript / Тест 12
Основы программирования на JavaScript - тест 12
Упражнение 1:
Номер 1
Что называется рекурсией?
Ответ:
 (1)
бесконечный цикл 
 (2)
вызов функции из той же самой функции 
 (3)
многократно повторяющийся участок кода 
Номер 2
Когда следует использовать рекурсию?
Ответ:
 (1)
когда количество повторов функции сложно определить 
 (2)
когда необходимо повторить одну и ту же операцию несколько раз 
 (3)
когда необходимо создать временную задержку исполнения программы 
Номер 3
Как называется ситуация, когда функция вызывает саму себя?
Ответ:
 (1)
рекурсия 
 (2)
ошибка времени исполнения 
 (3)
цикл 
Упражнение 2:
Номер 1
Что называется стеком?
Ответ:
 (1)
область памяти, в которой сохраняются копии всех переменных на каждом уровне вызова рекурсивной функции 
 (2)
вызов функции из той же самой функции 
 (3)
ошибка, возникающая при исчерпании памяти, выделяемой браузером для исполнения JavaScript-сценария 
Номер 2
В каком случае возникает ошибка переполнения стека?
Ответ:
 (1)
при описании массива слишком большого размера 
 (2)
при бесконечном цикле 
 (3)
при исчерпании памяти, выделяемой браузером для исполнения рекурсивной функции JavaScript-сценария 
Упражнение 3:
Номер 1
Определите ошибку при вычислении факториала
function fact(n)
{
var f=1
if (n>=1) f=n*fact(n-1)
return f
}
Ответ:
 (1)
ошибок нет 
 (2)
неправильно передается параметр функции на следующий уровень вызова 
 (3)
неправильно описано условие выхода из рекурсии 
Номер 2
Определите ошибку при вычислении факториала
function fact(n)
{
var f=1
f=n*fact(n-1)
return f
}
Ответ:
 (1)
ошибок нет 
 (2)
неправильно передается параметр функции на следующий уровень вызова 
 (3)
неправильно описано условие выхода из рекурсии 
Номер 3
Определите ошибку при вычислении факториала
function factorial(N){
return N<=1?1:N*factorial(N-1);
}
Ответ:
 (1)
ошибок нет 
 (2)
неправильно передается параметр функции на следующий уровень вызова 
 (3)
неправильно описано условие выхода из рекурсии 
Упражнение 4:
Номер 1
Можно ли использовать рекурсию с большей глубиной, чем определяется ограничением браузера?
Ответ:
 (1)
нет 
 (2)
да, при условии специальной настройки веб-сервера 
 (3)
да, при условии организации собственного стека 
Номер 2
В каком случае выделяют собственный стек?
Ответ:
 (1)
когда существует возможность использования рекурсии с большей глубиной, чем определяется ограничением браузера 
 (2)
при бесконечном цикле 
 (3)
когда необходимо описать массив слишком большого размера 
Номер 3
Каким образом можно определить собственный стек?
Ответ:
 (1)
вместо стека нужно использовать массив 
 (2)
с помощью специальной настройки веб-сервера 
 (3)
это невозможно 
Упражнение 5:
Номер 1
Напишите функцию, находящую сумму первых n натуральных чисел
Ответ:
 (1)
function func(n) {
var f=1
if (n<=1) f=1
else f=n+func(n-1)
return f } 
 (2)
function func(n) {
var f=1
if (n=1) f=1
else f=n+func(n-1)
return f } 
 (3)
function func(n) {
var f=0
if (n<=1) f=0
else f=n+func(n-1)
return f } 
Номер 2
Определите результат работы функции
function func(n) {
var f=1
if (n<=1) f=1
else f=n+func(n-1)
return f }
Ответ:
 (1)
функция найдёт сумму первых n натуральных чисел 
 (2)
функция найдёт факториал n 
 (3)
в процессе работы функции произойдёт ошибка выхода из рекурсии 
Номер 3
Определите ошибку в функции, находящей сумму первых n натуральных чисел
function func(n) {
var f=0
if (n<=1) f=0
else f=n+func(n-1)
return f }
Ответ:
 (1)
ошибка вызова рекурсии (неправильно переданы параметры) 
 (2)
ошибка определения глубины рекурсии 
 (3)
ошибок нет