игра брюс 2048
Главная / Программирование / Введение в программирование на Лиспе / Тест 9

Введение в программирование на Лиспе - тест 9

Упражнение 1:
Номер 1
Каким образом реализуются замедленные вычисления:

Ответ:

 (1) запоминанием символьного выражения с контекстом его вычисления 

 (2) блокировкой вычислений и запоминанием текущего состояния стэка 

 (3) формированием рецептов и запоминанием текущего состояния памяти 


Номер 2
Что содержится в рецепте вычисления:

Ответ:

 (1) только вычисляемая форма 

 (2) адрес вычисляемой формы 

 (3) отложенная форма и контекст, в котором она вызывается 


Номер 3
Что означает термин "рецепт вычисления выражений":

Ответ:

 (1) рецепт - это ссылка на обыкновенную вложенную функцию 

 (2) рецепт – это ссылка на существующую форму и связанный с ее исполнением ассоциативный список 

 (3) рецепт – это ссылка на параллельный процесс 


Упражнение 2:
Номер 1
В чем заключается преимущество использования ленивых вычислений:

Ответ:

 (1) экономия времени за счет исключения невостребованных вычислений 

 (2) экономия памяти 

 (3) экономия времени при проектировании программы 


Номер 2
В чем заключается преимущество использования ленивых вычислений:

Ответ:

 (1) возможность использования нетипизированных переменных 

 (2) экономия времени за счет исключения невостребованных вычислений 

 (3) экономия строчек кода 


Номер 3
В чем заключается преимущество использования ленивых вычислений:

Ответ:

 (1) экономия памяти 

 (2) экономия времени за счет исключения невостребованных вычислений 

 (3) экономия строчек кода 


Упражнение 3:
Номер 1
Приостановка и последующее возобновление вычислений называется:

Ответ:

 (1) вызовом по указателю  

 (2) вызовом по значению 

 (3) вызовом по необходимости 

 (4) вызовом по событию 


Номер 2
Откладывание представления формы с последующим ее вычислением, если понадобилось ее значение,  называется:

Ответ:

 (1) вызовом по событию 

 (2) вызовом по необходимости 

 (3) системным вызовом  

 (4) вызовом по ссылке 


Номер 3
Сохранение и последующий вызов функции называется:

Ответ:

 (1) вызовом по необходимости 

 (2) вызовом по значению 

 (3) вызовом по ссылке 

 (4) вызовом по имени 


Упражнение 4:
Номер 1
В чем заключается действие описанной в лекции операции "приостановка вычислений":

Ответ:

 (1) вычисление формы-аргумента запоминается и откладывается для последующего возобновления 

 (2) отменяется вычисление формы-аргумента  

 (3) форма-аргумент этой функции вычисляется в соответствии с контекстом вызова 


Номер 2
В чем заключается действие описанной в лекции операции "приостановка вычислений":

Ответ:

 (1) вычисления аргумента этой функции не откладывается, аргумент запоминается вместе с контекстом вызова для текущего вычисления 

 (2) вычисления аргумента этой функции откладывается, аргумент запоминается вместе с контекстом вызова для последующего возобновления вычислений 

 (3) вычисления аргумента этой функции не откладывается, аргумент вычисляется моментально. 


Номер 3
В чем заключается действие описанной в лекции операции "приостановка вычислений":

Ответ:

 (1) аргумент этой функции не вычисляется 

 (2) аргумент этой функции вычисляется 

 (3) аргумент этой функции запоминается для последующего вычисления (вычисление откладывается) 


Упражнение 5:
Номер 1
Какая из формальных реализаций операции "приостановка вычислений" является верной: 

Ответ:

 (1) (eval x) 

 (2) 'x 

 (3) (defun f(x) x) 

 (4) (lambda () x) 


Номер 2
Какая из формальных реализаций операции "приостановка вычислений" является верной: 

Ответ:

 (1) (lambda () x) 

 (2) ;x 

 (3) (lambda (x) x) 

 (4) "x" 


Номер 3
Какая из формальных реализаций операции "приостановка вычислений" является верной: 

Ответ:

 (1) (quote x) 

 (2) 'x 

 (3) (lambda () x) 

 (4) (defun f(x) x) 


Упражнение 6:
Номер 1
Какая из формальных реализаций операции "возобновление вычислений" является верной: 

Ответ:

 (1) (evcon x) 

 (2) (defun f(x) (x)) 

 (3) (funcall (f x)), где f(x) определено с помощью (defun f(x) (x)) 

 (4) (apply (x )) 


Номер 2
Какая из формальных реализаций операции "возобновление вычислений" является верной: 

Ответ:

 (1) (x ) 

 (2) (append x) 

 (3) (funcall x) 

 (4) (defun f(x) (x)) 


Номер 3
Какая из формальных реализаций операции "возобновление вычислений" является верной: 

Ответ:

 (1) (x ) 

 (2) (eval x AL), где AL-ассоциативный список 

 (3) (lambda (x) (x) x) 

 (4) (defun f(x) (x)) 


Упражнение 7:
Номер 1
В чем заключается  действие описанной в лекциях функции "возобновление вычислений":

Ответ:

 (1) аргумент этой функции вычисляется в соответствии с контекстом вызова 

 (2) аргумент этой функции – выражение, которое будет вычислено после вычисления остальной части выражения, в состав которого оно входит 

 (3) аргумент этой функции может не вычисляться 


Номер 2
В чем заключается действие описанной в лекциях операции "возобновление вычислений":

Ответ:

 (1) аргумент этой функции вычисляется с потерей значения 

 (2) аргумент этой функции рассматривается системой как комментарий 

 (3) аргумент этой функции вычисляется, она является аналогом eval 


Номер 3
В чем заключается  действие операции "возобновление вычислений":

Ответ:

 (1) аргумент этой функции не вычисляется 

 (2) аргумент этой функции вычисляется после отложения вычисления (вычисляется с контекстом вызова) 

 (3) аргумент этой функции вычисляется, она является аналогом eval 


Упражнение 8:
Номер 1
Каким образом можно исключить повторное вычисление одного и того же рецепта: 

Ответ:

 (1) введением флага, невычисленный рецепт будет иметь вид (Nil e AL ) 

 (2) введением флага, не вычисленный рецепт будет иметь вид (T e AL ) 

 (3) введением флага, не вычисленный рецепт будет иметь вид (T (eval e AL )) 

 (4) правильного из перечисленных выше ответов нет  


Номер 2
Каким образом можно исключить повторное вычисление одного и того же рецепта:  

Ответ:

 (1) введением флага, вычисленный рецепт будет иметь вид (e AL ) 

 (2) введением флага, вычисленный рецепт будет иметь вид (T e AL ) 

 (3) введением флага, вычисленный рецепт будет иметь вид (Nil (eval e AL )) 

 (4) правильного из перечисленных выше ответов нет 


Номер 3
Каким образом можно исключить повторное вычисление одного и того же рецепта:

Ответ:

 (1) введением флага, вычисленный рецепт будет иметь вид (Nil e AL ) 

 (2) введением флага, вычисленный рецепт будет иметь вид (T e AL ) 

 (3) введением флага, вычисленный рецепт будет иметь вид (T (eval e AL )) 

 (4) правильного из перечисленных выше ответов нет  




Главная / Программирование / Введение в программирование на Лиспе / Тест 9