игра брюс 2048
Главная / Программирование / Основы функционального программирования / Тест 7

Основы функционального программирования - тест 7

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

Ответ:

 (1) s e (LDC q . c) d -> (q . s) e c d 

 (2) (a . s) e (ADD1 . c) d -> (a+1 . s) e c d 

 (3) (a b . s) e (CONS . c) d -> ((a . b) . s) e c d 

 (4) (a b . s) e (EQ . c) d -> (t . s) e c d , где t - логическое значение. 


Номер 2
Какая из перечисленных команд SECD сохраняет размер стека результатов?

Ответ:

 (1) s e (LDC q . c) d -> (q . s) e c d 

 (2) (a . s) e (SUB1 . c) d -> (a-1 . s) e c d 

 (3) (a b . s) e (CONS . c) d -> ((a . b) . s) e c d 

 (4) (a b . s) e (EQ . c) d -> (t . s) e c d , где t - логическое значение. 


Номер 3
Какая из перечисленных команд SECD не влияет на размер стека результатов?

Ответ:

 (1) s e (LDC q . c) d -> (q . s) e c d 

 (2) (a b . s) e (CONS . c) d -> ((a . b) . s) e c d 

 (3) ((a . b) . s) e (CAR . c) d -> (a . s) e c d 

 (4) (a b . s) e (EQ . c) d -> (t . s) e c d , где t - логическое значение. 


Упражнение 2:
Номер 1
Какая из перечисленных команд SECD уменьшают размер стека результатов (S)?

Ответ:

 (1) s e (LDC q . c) d -> (q . s) e c d 

 (2) (a b . s) e (CONS . c) d -> ((a . b) . s) e c d 

 (3) ((a . b) . s) e (CDR . c) d -> (b . s) e c d 

 (4) (a . s) e (ATOM . c) d -> (t . s) e c d 


Номер 2
Какая из перечисленных команд SECD укорачивает стек результатов (S)?

Ответ:

 (1) s e (LDC q . c) d -> (q . s) e c d 

 (2) ((a . b) . s) e (CDR . c) d -> (b . s) e c d 

 (3) (a . s) e (ATOM . c) d -> (t . s) e c d 

 (4) (a b . s) e (EQ . c) d -> (t . s) e c d , где t - логическое значение. 


Номер 3
Какая из перечисленных команд SECD увеличивают размер стека результатов (S)?

Ответ:

 (1) s e (LDC q . c) d -> (q . s) e c d 

 (2) (a b . s) e (CONS . c) d -> ((a . b) . s) e c d 

 (3) (a . s) e (ATOM . c) d -> (t . s) e c d 


Номер 4
Какая из перечисленных команд SECD удлиняет стек результатов (S)?

Ответ:

 (1) s e (LD n . c) d -> (x . s) e c d , где x - это значение (N-th n e ) 

 (2) (a b . s) e (CONS . c) d -> ((a . b) . s) e c d 

 (3) (a . s) e (ATOM . c) d -> (t . s) e c d 


Упражнение 3:
Номер 1
Какая из перечисленных команд SECD изменяет состояние дампа (D)?

Ответ:

 (1) s e (JOIN) (c . d) -> s e c d 

 (2) (a b . s) e (CONS . c) d -> ((a . b) . s) e c d 

 (3) (a . s) e (ATOM . c) d -> (t . s) e c d 


Номер 2
Какая из перечисленных команд SECD изменяет состояние дампа (D)?

Ответ:

 (1) s e (LDC q . c) d -> (q . s) e c d 

 (2) (a b . s) e (CONS . c) d -> ((a . b) . s) e c d 

 (3) (t . s) e (SEL c1 c0 . c) d -> s e ct (c . d ) 


Номер 3
Какая из перечисленных команд SECD изменяет состояние дампа (D)?

Ответ:

 (1) s e (LDC q . c) d -> (q . s) e c d 

 (2) (x) e (RTN) (s e c . d) -> (x . s) e c d 

 (3) (a . s) e (ATOM . c) d -> (t . s) e c d 


Упражнение 4:
Номер 1
Какая из перечисленных команд понадобятся при компиляции выражения (CADR n)?

Ответ:

 (1) s e (LD n . c) d -> (x . s) e c d , где x - это значение (N-th n e ) 

 (2) s e (JOIN ) (c . d) -> s e c d 

 (3) s e (LDF f . c) d -> ((f . e) . s) e c d 


Номер 2
Какая из перечисленных команд нужна при компиляции выражения (CADR n)?

Ответ:

 (1) s e (JOIN ) (c . d) -> s e c d 

 (2) ((a . b) . s) e (CAR . c) d -> (a . s) e c d 

 (3) s e (LDF f . c) d -> ((f . e) . s) e c d 


Номер 3
Какая из перечисленных команд используется при компиляции выражения (CADR n)?

Ответ:

 (1) s e (JOIN ) (c . d) -> s e c d 

 (2) ((a . b) . s) e (CDR . c) d -> (b . s) e c d 

 (3) s e (LDF f . c) d -> ((f . e) . s) e c d 


Упражнение 5:
Номер 1
Какое выражение не может быть исходным для кода программы на языке абстрактной машины (LD @n CDR CAR)?

Ответ:

 (1) (CADR n ) 

 (2) (EQ (ATOM n) ' CAR ) 

 (3) (CAR (CDR n)) 


Номер 2
Для какого выражения не может быть результатом компиляции на язык абстрактной машины кода программы вида (LD @n CDR CAR)?

Ответ:

 (1) (CADR n ) 

 (2) (CONS (QUOTE CAR) (QUOTE CDR)) 

 (3) (CAR (CDR n)) 


Номер 3
Какое выражение не эквивалентно коду программы на языке абстрактной машины (LD @n CDR CAR)?

Ответ:

 (1) (CADR n ) 

 (2) (COND ((EQ n 0 )(CAR l )) (T (CONS (SUB1 n ) (CDR l ) )) )) 

 (3) (CAR (CDR n)) 


Упражнение 6:
Номер 1
Какое выражение может быть исходным для объектного кода ( LD @n CDR CAR )?

Ответ:

 (1) (CADR n ) 

 (2) (EQ (CAR n) 'QUOTE ) 

 (3) (COND ((EQ n 0 )(CAR l )) (T (CONS (SUB1 n ) (CDR l ) )) )) 


Номер 2
Какое выражение эквивалентно объектному коду ( LD @n CDR CAR )?

Ответ:

 (1) (CAR (CDR n)) 

 (2) (EQ (CAR n) 'QUOTE ) 

 (3) (COND ((EQ n 0 )(CAR l )) (T (CONS (SUB1 n ) (CDR l ) )) )) 


Номер 3
Какое выражение может при компиляции дать объектный код ( LD @n CDR CAR )?

Ответ:

 (1) (LET ((a (CDR n)))(CAR a)) 

 (2) (EQ (CAR n) 'QUOTE ) 

 (3) (COND ((EQ n 0 )(CAR l )) (T (CONS (SUB1 n ) (CDR l ) )) )) 


Упражнение 7:
Номер 1
Какой код может быть результатом компиляции выражения (CADR n )?

Ответ:

 (1) ( LD @n CDR CAR ) 

 (2) ( LD @n CAR LDC QUOTE EQ ) 

 (3) ( LD @n LDc 0 EQ SEL (LD @l CAR JOIN ) (LD @n SUB1 LD @l CDR CONS JOIN )) 


Номер 2
Какая команда машины SECD заведомо не понадобятся при компиляции выражения (CADR n)?

Ответ:

 (1) s e (LD n . c) d -> (x . s) e c d , где x - это значение (N-th n e ) 

 (2) s e (JOIN ) (c . d) -> s e c d 

 (3) ((a . b) . s) e (CAR . c) d -> (a . s) e c d 

 (4) ((a . b) . s) e (CDR . c) d -> (b . s) e c d 


Номер 3
Какая команда машины SECD не нужна при компиляции выражения (CADR n )?

Ответ:

 (1) s e (LD n . c) d -> (x . s) e c d , где x - это значение (N-th n e ) 

 (2) ((a . b) . s) e (CAR . c) d -> (a . s) e c d 

 (3) ((a . b) . s) e (CDR . c) d -> (b . s) e c d 

 (4) s e (LDF f . c) d -> ((f . e) . s) e c d 


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

Ответ:

 (1) s e (LDC q . c) d -> (q . s) e c d 

 (2) (a . s) e (ADD1 . c) d -> (a+1 . s) e c d 

 (3) (a . s) e (SUB1 . c) d -> (a-1 . s) e c d 

 (4) (a b . s) e (CONS . c) d -> ((a . b) . s) e c d 

 (5) ((a . b) . s) e (CAR . c) d -> (a . s) e c d 

 (6) (a b . s) e (EQ . c) d -> (t . s) e c d , где t - логическое значение 


Номер 2
Какие из перечисленных команд SECD уменьшают размер стека результатов?

Ответ:

 (1) s e (LDC q . c) d -> (q . s) e c d 

 (2) (a . s) e (ADD1 . c) d -> (a+1 . s) e c d 

 (3) (a . s) e (SUB1 . c) d -> (a-1 . s) e c d 

 (4) (a b . s) e (CONS . c) d -> ((a . b) . s) e c d 

 (5) ((a . b) . s) e (CAR . c) d -> (a . s) e c d 

 (6) ((a . b) . s) e (CDR . c) d -> (b . s) e c d 

 (7) (a . s) e (ATOM . c) d -> (t . s) e c d 

 (8) (a b . s) e (EQ . c) d -> (t . s) e c d , где t - логическое значение 


Номер 3
Какие из перечисленных команд SECD увеличивают размер стека результатов?

Ответ:

 (1) s e (LDC q . c) d -> (q . s) e c d 

 (2) s e (LD n . c) d -> (x . s) e c d , где x - это значение (N-th n e ) 

 (3) (a . s) e (ADD1 . c) d -> (a+1 . s) e c d 

 (4) (a b . s) e (CONS . c) d -> ((a . b) . s) e c d 

 (5) ((a . b) . s) e (CDR . c) d -> (b . s) e c d 

 (6) (a . s) e (ATOM . c) d -> (t . s) e c d 


Упражнение 9:
Номер 1
Какие из перечисленных команд понадобятся при компиляции заданного выражения: (CADR n )?

Ответ:

 (1) s e (LD n . c) d -> (x . s) e c d , где x - это значение (N-th n e ) 

 (2) s e (JOIN ) (c . d) -> s e c d 

 (3) ((a . b) . s) e (CAR . c) d -> (a . s) e c d 

 (4) ((a . b) . s) e (CDR . c) d -> (b . s) e c d 

 (5) s e (LDF f . c) d -> ((f . e) . s) e c d 


Номер 2
Какое выражение не может быть исходным для заданного кода абстрактной машины ( LD @n CDR CAR ) ?

Ответ:

 (1) (CADR n ) 

 (2) (EQ (CAR n) 'QUOTE ) 

 (3) (COND ((EQ n 0 )(CAR l )) (T (CONS (SUB1 n ) (CDR l ) )) )) 


Номер 3
Какое выражение может быть исходным для объектного кода ( LD @n CDR CAR )?

Ответ:

 (1) (CADR n ) 

 (2) (EQ (CAR n) 'QUOTE ) 

 (3) (COND ((EQ n 0 )(CAR l )) (T (CONS (SUB1 n ) (CDR l ) )) )) 




Главная / Программирование / Основы функционального программирования / Тест 7