игра брюс 2048
Главная / Интернет-технологии / Основы программирования на 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) ошибок нет 




Главная / Интернет-технологии / Основы программирования на JavaScript / Тест 12