Главная / Программирование /
Введение в программирование на Лиспе / Тест 6
Введение в программирование на Лиспе - тест 6
Упражнение 1:
Номер 1
Универсальная функция eval
в базовом Лиспе – это:
Ответ:
 (1) функция, строящая значения только рекурсивных форм 
 (2) вычисляющая только базисные функции 
 (3) функция, строящая значения вычислимых форм 
Номер 2
Интерпретацией называют:
Ответ:
 (1) функцию, вычисляющую значения форм, соответствующих спецификации языка, с точностью до ресурса 
 (2) это функция, вычисляющая значения любых всевозможных форм, принадлежащих всевозможному множеству языков 
 (3) это функция, вычисляющая значения фиксированного множества форм (форм только с функциями элементарного Лиспа) 
Номер 3
Что такое интерпретация:
Ответ:
 (1) это функция, вычисляющую значения любых всевозможных форм 
 (2) это функция, вычисляющая значения некоторого фиксированного множества форм 
 (3) это функция, вычисляющая значения всевозможных форм, определенных согласно спецификации языка, с точностью до ресурса 
Упражнение 2:
Номер 1
В каком порядке будет вычислено выражение (cons (car x) (car y)):
Ответ:
 (1) сначала будут получены значения x
и y
, затем в порядке следования выполнены операции cons, cdr и car
 
 (2) сначала будут получены значение переменной x
и результат (car x),
затем переменной y
и результат (car y),
а в конце будет выполнена операция cons с результатами (car x)
и (car y)
 
 (3) сначала будут получены значение переменной x
, затем переменной y
, а в конце будет выполнена операция cons с результатами (car x)
и (car y)
 
Номер 2
В каком порядке будет вычислено выражение (car (cdr (cons x y))):
Ответ:
 (1) сначала будут получены значения x
и y
, затем в порядке следования выполнены операции cons, cdr
и car
 
 (2) сначала будет выполнена операция cons
, a затем в порядке следования к списку (x . y)
применены cdr
и car
. 
 (3) сначала будет получен результат cons
, затем в порядке следования выполнены операция car
и cdr
. 
Номер 3
В каком порядке будет вычислено выражение (f (cdr x))
, где f
– функция (defun f (y) (car y))
:
Ответ:
 (1) сначала будет поиск определения функции f
в системе, получено значение переменной x
, затем вычислена функция (cdr x)
и (car y)
 
 (2) сначала будет поиск определения функции f
в системе, затем получено значение (cdr x)
и вычислена функция (car x)
 
 (3) сначала будет получено значение переменной и вычислена форма (cdr x)
, затем поиск определения функции f
в системе, связь результата (cdr x)
с именем локальной переменной y
и вычисление (car y)
 
Упражнение 3:
Номер 1
Какое назначение имеет функция apply,
входящая в состав интерпретатора:
Ответ:
 (1) функция обеспечивает вычисление предикатов условного выражения 
 (2) применение функции, подаваемой в качестве параметра в apply
, к ее аргументам – то и другое представлено как данные Лиспа 
 (3) только вычисление вложенных функций 
Номер 2
Какое назначение имеет функция apply,
входящая в состав интерпретатора:
Ответ:
 (1) вычисление первой базовой функции, входящей в состав в формы 
 (2) вычисление вложенных функций  
 (3) применение функции, подаваемой в качестве параметра в apply
, к ее аргументам – то и другое представлено как данные Лиспа 
Номер 3
Какое назначение имеет функция apply,
входящая в состав интерпретатора:
Ответ:
 (1) вычисление выражений вида (quote ..)
и '…
.  
 (2) применение функции, подаваемой в качестве параметра в apply
, к ее аргументам – то и другое представлено как данные Лиспа  
 (3) функция вычисления условных форм или ветвлений 
Упражнение 4:
Номер 1
Предикатом в Лиспе называют:
Ответ:
 (1) функцию, не имеющую выходные значения  
 (2) функцию, имеющую выходные значения TRUE
и FALSE
 
 (3) функцию, имеющую выходные значения T
и Nil
 
Номер 2
Предикат - это:
Ответ:
 (1) функция, имеющая выходные значения T
и Nil
 
 (2) функция, имеющая только одно выходное значение T
 
 (3) функция, имеющая область значений - множество комплексных чисел 
Номер 3
Роль предиката в Лиспе может выполнить:
Ответ:
 (1) любая вычислимая функция 
 (2) функция, имеющая область значений - множество комплексных чисел 
 (3) функция, имеющая выходные значения T
и Nil
 
Упражнение 5:
Номер 1
В каком случае интерпретатор выдаст сообщение об ошибке при вводе в его строку выражения > a1
:
Ответ:
 (1) когда a1
является именем функции 
 (2) когда a1
является именем переменной, не имеющей значения 
 (3) когда a1
является именем переменной, находящейся в ассоциативном списке 
Номер 2
В каком случае интерпретатор выдаст сообщение об ошибке при вводе в его строку выражения > (a )
:
Ответ:
 (1) в любом случае, т.к. (a)
есть недопустимая конструкция 
 (2) когда a является именем функции, а не именем переменной 
 (3) когда a не является именем функции без параметров 
Номер 3
В каком случае интерпретатор не выдаст сообщение об ошибке при вводе в его строку выражения > abcdefg
:
Ответ:
 (1) в любом случае, т.к. идентификатор не может быть больше 5 символов 
 (2) когда abcdefg
является именем переменной, не находящейся в ассоциативном списке 
 (3) когда abcdefg
является именем переменной, находящейся в ассоциативном списке 
Упражнение 6:
Номер 1
Какие из записей выражений не эквивалентны:
Ответ:
 (1) Nil
и (quote nil)
 
 (2) Nil
и True
 
 (3) (car a)
и '(car a)
 
 (4) (quote (Eq a))
и '(Eq a)
 
 (5) T
и Nil
 
Номер 2
Какие из записей выражений эквивалентны:
Ответ:
 (1) (quote True)
и 'True
 
 (2) Nil
и (Nil Nil)
 
 (3) Nil
и (Quote Nil)
 
 (4) (car 'abc)
и (car abc)
 
 (5) (car 'abc)
и (car (quote abc))
 
Номер 3
Какие из записей выражений эквивалентны:
Ответ:
 (1) T
и 'T
 
 (2) Nil
и False
 
 (3) Nil
и (Quote Nil)
 
 (4) (Eq)
и '(Eq)
 
 (5) T
и True
 
Упражнение 7:
Номер 1
Укажите выражения, при интерпретации которых возникнет сообщение об ошибке (Лисп элементарный):
Ответ:
 (1) (cadr '((A) . B) )
 
 (2) (cadr '((A) B))
 
 (3) (car A)
 
 (4) (Caar '((A) B C))
 
Номер 2
Укажите выражения, при интерпретации которых возникнет сообщение об ошибке (Лисп элементарный):
Ответ:
 (1) (cdar '((A) B) )
 
 (2) (cddr '(A . Nil))
 
 (3) (cddr '(A B . C))
 
 (4) (Caaadr '(A (B C)))
 
Номер 3
Укажите выражение, при интерпретации которого возникнет сообщение об ошибке (Лисп элементарный):
Ответ:
 (1) (caar '((A) B) )
 
 (2) (car '(A))
 
 (3) (car 'A)
 
 (4) (Caar '(A B C))
 
Упражнение 8:
Номер 1
Атом, введенный в строку интерпретатора в скобках в виде "(Атом)", воспринимается им как:
Ответ:
 (1) константа 
 (2) переменная 
 (3) функция 
Номер 2
Выражение (quote Atom)
воспринимается интерпретатором как:
Ответ:
 (1) константа 
 (2) переменная 
 (3) функция 
Номер 3
Атом, введенный в строку без скобок, интерпретатор воспринимает как:
Ответ:
 (1) константу 
 (2) переменную 
 (3) функцию 
Упражнение 9:
Номер 1
Что непременно делает интерпретатор до применения безымянной функции:
Ответ:
 (1) помещает аргументы функции в ассоциативный список 
 (2) связывает переменные из списка параметров со значениями фактических аргументов  
 (3) связывает определение с аргументами функции 
Номер 2
Что непременно делает интерпретатор до применения функции:
Ответ:
 (1) связывает имя функции с областью значений 
 (2) связывает переменные в списке параметров со значениями фактических аргументов 
 (3) вычисляет всевозможные значения функции (определяет область значений функции) 
Номер 3
Что непременно делает интерпретатор до применения функции:
Ответ:
 (1) связывает переменные из лямбда-списка параметров со значениями фактических аргументов 
 (2) связывает имя функции с ее аргументами 
 (3) вычисляет значение функции 
Упражнение 10:
Номер 1
Какой результат будет получен при интерпретации выражения (car (eval (cdr '(a b c))))
Ответ:
 (1) Сообщение об ошибке 
 (2) (b с)
 
 (3) b
 
Номер 2
Какой результат будет получен при интерпретации выражения (cddr (eval '(cdr '(a b c))))
Ответ:
 (1) Сообщение об ошибке 
 (2) (b с)
 
 (3) b
 
 (4) Nil
 
Номер 3
Какой результат будет получен при интерпретации выражения (cadr (eval '(cdr '(a b c))))
Ответ:
 (1) Сообщение об ошибке 
 (2) (b с)
 
 (3) (a)
 
 (4) c
 
 (5) (c)