Введение в программирование на Лиспе | ointuit.ru

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

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

Ответы на курс: Введение в программирование на Лиспе

Какая из перечисленных ниже форм вычислима:
прав.ответ (Cons (Quote (A B С)) ‘B)
(Atom Cons (Quote A B C))
(Eq ‘A B)

Какая из данных форм вычислима:
((lambda (x y) (cons x ‘a)) ‘(a b))
прав.ответ ((lambda (x y) (eq ‘x ‘y)) ‘A ‘A)
((lambda (z) (cons z ‘x)) (AB))

Программа на языке Лисп это:
последовательность вычисляемых списков
последовательность вычисляемых идентификаторов
прав.ответ последовательность вычисляемых выражений

Пары «переменная-значение» в элементарном Лиспе содержатся в:
базе данных переменных (группа временных файлов)
прав.ответ ассоциативном списке
хэш-таблице

В каких случаях правильно указано число вызовов функции Cons (в определении append) при вызове функции append, имеющей определение
(DEFUN append (x y) (COND 
     ((null x) y)
     ((QUOTE T) (CONS
       (CAR x) 
       (append (CDR x) y)    
      )
     )
)
      ) ,

при интерпретации выражений с указанными ниже аргументами:

прав.ответ вызовов – 2, x – (1 ((2))), y – (a b c)
вызовов – 2, x – (A B C), y – (1 2)
вызовов – 4, x – (a (b) c), y – (a b c d)

Как именуются элементарные данные в Лиспе:
список
функция
прав.ответ атом
процедура

Какой подход в построении программ наиболее подходит для использования в Лисп-системах программирования:
прав.ответ функциональный
интерфейсный
декларативный

Что такое стек:
это набор данных, элементы которого обрабатываются по принципу «первый пришел, первый вышел»
прав.ответ это набор данных, элементы которого обрабатываются по принципу «первый пришел, последний вышел»
это набор данных, элементы которого обрабатываются по принципу «последний пришел, последний вышел»

Общий принцип функционального программирования:
представление функции строится заранее
прав.ответ представление функции строится и вычисляется также как и представление данных
при символьном представлении данных представление функции нельзя построить теми же средствами, что и обработку значений

Формой в языке Лисп называют:
описание функции на языке Лисп
список из имени функции, перечня ее аргументов и значений
прав.ответ список из представления функции и перечня ее аргументов

Программа на языке Лисп это:
прав.ответ последовательность вычисляемых выражений
последовательность данных любой природы
прав.ответ последовательность вычисляемых форм

Что такое рекурсивная функция:
это функция, имеющая несколько аргументов
это функция, имеющая несколько значений
прав.ответ это функция, определение которой имеет прямое или косвенное обращение к самой себе

Каким образом можно загрузить программу из файла в Лисп-интерпретатор:
необходимо создать файл с расширением .lsp, без дополнительной настройки ОС сама воспримет его как файл с программой
прав.ответ после загрузки Лисп-системы набрать в командной строке выражение (load ‘filename)
загрузка программы осуществляется с помощью команды (eval (read ‘filename))

Какие из приведенных ниже строк являются комментариями в системе Лисп:
(comment комментарий)
‘комментарий
(bye комментарий)
прав.ответ ; комментарий

Элементарные функции в Лисп системе это:
прав.ответ атомы, определенные как подпрограммы на уровне исполняемого кода
встраиваемые S-выражения, имеющие определения на уровне исполнимого кода
обычные атомы

Какое событие произойдет после введения в строку интерпретатора выражения (Cons ‘a BC):
прав.ответ появится сообщение об ошибке, что переменная «BC» не имеет значения
система выдаст правильный результат
появится сообщение об ошибке, что переменная «a» не имеет значения

Сообщение интерпретатора Step —> (выражение) означает:
данное выражение является значением и вычисляться не будет
следующее выражение является результатом, который будет использоваться при следующих вызовах команды step
прав.ответ на следующем шаге будет вычислено именно это выражение

Процесс пошаговой интерпретации продолжается пока:
не закончится пошаговая интерпретация одного из выражений
пока не будет набрана команда Break.
прав.ответ не закончится пошаговая интерпретация всех выражений или не будет набрана команда Next

Какой результат будет получен при вычислении выражения (CONS 10 12)
прав.ответ (10 . 12)
(22)
сообщение об ошибке, ведь надо поставить перед 10 и 12 знак апострофа

Список аргументов специальной функции Defun содержит в порядке следования:
имя функции, типы и имена аргументов, определение функции
имя функции, определение функции, список аргументов, тип результата
прав.ответ имя функции, список аргументов, определение функции

Какое событие произойдет после ввода в строку интерпретатора текста Cons ‘a ‘BC:
система выдаст правильный результат вычисления данного выражения
ожидание продолжения ввода
прав.ответ появится сообщение об ошибке

Можно ли остановить процесс пошаговой интерпретации и если можно, то каким образом:
процесс остановить нельзя (окончание после разбора последнего выражения)
прав.ответ набором команды команда Next
набором команды Error

Вычислимо ли выражение (EQ (car ‘(())) (cdr’(T . Nil))), если да, то какой ответ является верным:
нет, не вычислимо
да, ответ False
прав.ответ да, ответ T

Что такое список:
последовательность атомов, разделенных запятыми, заключенная в скобки
последовательность строк, заключенных в скобки
прав.ответ последовательность любых данных — списков и атомов, а также S-выражений, разделенных пробелами, заключенная в скобки

Какое из значений можно получить, вычислив форму (cdr ‘( a (b c) d)):
(a b c d)
прав.ответ ((b c) d)
(b c)

Укажите правильный результат вычисления формы (Cons ‘(A) Nil):
s-выражение ((Nil . Nil) . A)
прав.ответ одноэлементный список ((A))
пара элементов (A . Nil)

Что такое Атом:
это последовательность, состоящая из букв и цифр
прав.ответ это последовательность, состоящая из букв и цифр, начинающаяся с буквы
это последовательность, состоящая из букв и цифр, начинающаяся с цифры

Являются ли эквивалентными записи точечной и списочной нотаций (A . B . C) и (A B C) соответственно:
нет, эквивалентными является записи (A . B . C) и (A (B C))
прав.ответ нет, эквивалентными являются записи (A . (B . (C . Nil))) и (A B C)
нет, эквивалентными является записи (A . (B . C)) и (A B C)
да

Укажите правильный результат вычисления формы (Cons ‘Nil ‘(A)):
пара элементов (A . Nil)
прав.ответ (Nil A)
(Nil . (Nil . A))
(Nil . A)

Вычислимо ли выражение (EQ (car ‘(A)) (cdr’(B))), если да, то какой ответ является верным:
нет, не вычислимо
да, ответ True
прав.ответ да, ответ Nil

Какие из перечисленных ниже выражений вычислимы (не будет сообщения об ошибке):
(cdar ‘(a (b)))
(caaaaaar ‘(a b с))
прав.ответ (caadr ‘(a (b c)))

Какие из перечисленных представлений являются несписочным S-выражением:
‘(A)
прав.ответ (A . B)
(A)

Какой из результатов может быть получен при вычислении формы (eq ‘(Nil) (atom ‘(T))), и укажите причину, почему это так:
прав.ответ Nil, т.к. форма (eq ‘(Nil) (atom ‘(T))) сведется к вычислению (eq ‘(Nil) Nil)
T, т.к. ‘(Nil) и ‘(T) являются атомами
Nil, т.к. форма сведется к вычислению (EQ Nil T)
сообщение об ошибке, т.к. ‘(nil) это список
T, т.к. предикат atom выдаст значении Nil

Какие из представленных ниже форм представляют одноэлементный список в Лиспе:
прав.ответ (Nil)
Nil
прав.ответ (NIL . NIL)

Какое из значений может быть получено при вычислении формы (cdr ‘( a (b (c)) d)):
прав.ответ ((b (c)) d)
(d)
(b (c))

Являются ли приведенные ниже описания функции взятия левого элемента списка семантически и синтаксически верными. Указать верное описание:
прав.ответ (defun F(x) (cond (((atom x) x) (T (F (car x)) )) )
(defun f(x) (f (car x)))
(defun F(x) (cond (F (car x)) ((atom x) x) ))

Передача интерпретатору формы (f ‘x 3) означает то, что:
вызывается функция f, аргументом которой является результат вызова функции x с аргументом 3
это форма блокирована для вычисления
прав.ответ вызывается функция f для двух аргументов ‘x и 3, данные » x » и «3» подаются в функцию в качестве значений аргументов

В каком порядке будет проходить вычисление формы ((lambda (x) (car (cons (cdr x) x))) ‘(1 2 3)):
прав.ответ связывание переменной x со значением (1 2 3), вычисление хвоста списка, консолидация с исходным списком, вычисление головы итогового списка, результат (2 3)
связывание переменной x со значением (1 2 3), вычисление головы списка, вычисление хвоста списка, соединение хвоста и остального списка, результат ((2 3) (1 2 3))
построение формы (car (cons (cdr x) x)) ,подстановка в нее значения ‘(1 2 3) (связывание с переменной x), вычисление хвоста списка, консолидация со списком, вычисление головы итогового списка, результат (2 3)

Каким будет результат вычисления формы (cons (cdr ‘(A B C)) (car ‘((D)))):
прав.ответ ( (B C) D)
(B C (D))
((car ‘(A B C)) (D))

В Лиспе все типы данных:
необходимо указывать при описании функции
прав.ответ включены в представление значений
необходимо объявлять в начале текста программы

Какое событие произойдет после введения в строку интерпретатора выражения (Cons a (quote BC)):
система выдаст правильный результат
появится сообщение об ошибке, что переменная «BC» не имеет значения
прав.ответ появится сообщение об ошибке, что переменная «a» не имеет значения

Какие из данных выражений представлены списками:
прав.ответ (())
прав.ответ (‘A ‘B)
A
прав.ответ (Nil . Nil)

Какое из выражений синтаксически корректно и не вызовет ошибку при интерпретации:
прав.ответ ((lambda (x y) (cons (cdr y) (car x))) ‘(a b c) ‘(a))
((defun f(x) (cons (cdr x) (car x )) ‘(a b c)))
((defun (x y) (cons (cdr x)) ‘(a b с))

Какая из последовательностей действий на первом шаге рекурсии, выполняемых интерпретатором при вычислении выражения (Факториал 1) , где факториал:
(DEFUN Факториал  (LAMBDA (N)
     (COND ((= N 0 ) 1 )
           (T  ( *  N  (Факториал (- N 1 )))  )  
)      )       )
     

является верной:

выбор определения функции { (COND ((= N 0 ) 1 ) (T ( * N (Факториал (- N 1 ))) ) }, выделение параметров {n = 1}, немедленный выбор второй ветви cond {(T ( * N (Факториал (- N 1 ))) ) }, вычисление этого предиката и переход ко второму шагу рекурсии
выбор определения функции { (COND ((= N 0 ) 1 ) (T ( * N (Факториал (- N 1 ))) ) }, выделение параметров {n = 1}, перебор предикатов, вычитание единицы {N=N-1} , вычисление первого предиката {((= N 0 ) 1 ), ответ 1}.
прав.ответ выбор определения функции { (COND ((= N 0 ) 1 ) (T ( * N (Факториал (- N 1 ))) ) }, выделение параметров {n = 1}, перебор предикатов, выбор первой ветви {((= N 0 ) 1 )} , вычисление функции =, вычисление предиката (Nil 1), т.е. переход ко второй ветви, выбор второй ветви cond {(T ( * N (Факториал (- N 1 ))) ) }, вычисление этого предиката и переход ко второму шагу рекурсии

Какая из перечисленных ниже форм вычислима:
прав.ответ (EQ (Atom (quote A)) (Atom ‘(Abc)))
(Cons (A B С) ‘B)
(Atom (Quote A B C))

В каком случае правильно указано число вызовов функция Cons (входящей в состав определения sublis) при вызове функции sublis, имеющей определение
(DEFUN sub2 (al z) (COND 
   ((null al) z)
   ((equal (CAAR al) z) (CDAR al))
   ((QUOTE T) (sub2 (CDR al) z))
        ) )

(DEFUN sublis (al y) (COND 
    ((ATOM y) (sub2 al y))
     ((QUOTE T)(CONS 
       (sublis al (CAR y)) 
       (sublis al (CDR y))
    ) )))
                 

при интерпретации выражений с указанными ниже аргументами:

вызовов 7, al- ((C A) (D B)), y – (C и D сидели на трубе)
вызовов 5, al- ((C A) (D B)), y – (C и D сидели на трубе)
прав.ответ вызовов 6, al- ((C A) (D B)), y – (C и D сидели на трубе)

В каком случае правильно указан результат выполнения функции member, имеющей определение
 
(DEFUN member (x y) (COND 
     ((null y) (QUOTE Nil))
     ((equal x (CAR y)) (QUOTE T))
     ((QUOTE T) (member x (CDR y)) )
    ))
  

при интерпретации выражений с указанными ниже аргументами:

x – ((A B)), y – (C A), результат T
y – (A (B) C) y – (C (B) C A), результат T
прав.ответ x – (B C D), y – (A (B C D)), результат T
x- ((A) B C), y — (A B C D), результат T

Какие из представленных форм является определением именованной функции в Лиспе:
(defun (x,y) (car (cons x (cdr y))))
((lambda (x y) (car (cons x (cdr y)))) ‘(1 2) ‘(2 3))
прав.ответ (defun F(x) ((lambda (y) (car y)) x) )

В каких случаях правильно указано число вызовов функции Cons (в определении append) при вызове функции append, имеющей определение
(DEFUN append (x y) (COND 
     ((null x) y)
     ((QUOTE T) (CONS
       (CAR x) 
       (append (CDR x) y)    
      )
     )
)
      ) , 

при интерпретации выражений с указанными ниже аргументами:

прав.ответ вызовов – 2, x – (cons (1 2)), y – (a b c d)
прав.ответ вызовов – 3, x – (cons A B), y – (car (1 2))
вызовов – 4, x – (cons 1 2), y – (2)

Какие способы представления структур данных используются в Лиспе:
в виде дерева, списочная и точечная нотации
прав.ответ списочная и точечная нотации
только списочная и строковая

В каких случаях правильно указано число вызовов функции Cons (в определении append) при вызове функции append, имеющей определение
(DEFUN append (x y) (COND 
     ((null x) y)
     ((QUOTE T) (CONS
       (CAR x) 
       (append (CDR x) y)    
      )
     )
)
      ) , 
     

при интерпретации выражений с указанными ниже аргументами:

прав.ответ вызовов – 2, x – (car (A)), y – (car (1 2))
прав.ответ вызовов – 3, x – (cons 1 2), y – (1 2 2 3)
вызовов – 4, x – (car (quote (1 2))), y – (1 2 3)

В каком случае правильно указано количество обращений к последней ветви ((QUOTE T) (QUOTE NIL)) второго (вложенного) Cond функции Equal, имеющей определение
 
(DEFUN equal (x y) (COND 
                 ((ATOM x) (COND 
                   ((ATOM y) (EQ x y))
                   ((QUOTE T) (QUOTE NIL))
                 )
            )
           ((equal (CAR x)(CAR y)) (equal (CDR x)(CDR y)))
       ((QUOTE T) (QUOTE NIL))
       )
  ) 

при интерпретации выражений с указанными ниже аргументами:

прав.ответ обращений — 2, аргументы (a b) и ((c) (b))
обращений – 1, аргументы (a1 b1) и (a1 b1)
прав.ответ обращений – 0, аргументы (a1 b1) и (a1 c1)
обращений –2, аргументы (a (b)) и (с d)

В каких случаях правильно указано число обращений к функции Cons при вызове функции subst, имеющей определение
(DEFUN subst (x y z) (COND 
      ((equal y z) x)
      ((ATOM z) z)
      ((QUOTE T)(CONS 
       (subst x y (CAR z)) 
       (subst x y (CDR z))
         )
       )
     )
), 
  

со следующими аргументами (порядок следования x y z):

прав.ответ обращений – 3, аргументы x- (A B), y — (С), z — (A B D)
прав.ответ обращений – 3, аргументы x- A, y — C, z — ((C) D)
обращений – 0, аргументы x- Nil, y — A, z — (A B C)
обращений – 4, аргументы x- T, y — T, z — (B A C)

Какие из представленных ниже форм является несписочным S-выражением
()
прав.ответ atom
a . Nil
прав.ответ (a . (b . c))
(a b c)
(a . (b с))

Укажите, какая из приведенных ниже форм являются специальными:
прав.ответ (defun f(x) (car x))
(Atom ‘(x y))
nil
T

В каких случаях правильно указан результат выполнения функции member, имеющей определение
(DEFUN member (x y) (COND 
     ((null y) (QUOTE Nil))
     ((equal x (CAR y)) (QUOTE T))
     ((QUOTE T) (member x (CDR y)) ) )
    )
 

при интерпретации выражений с указанными ниже аргументами:

x – (A (B)), y – (C (B) A), результат T
прав.ответ x- (A B C), y — (A B C D), результат Nil
прав.ответ x – (A B C), y – (A B (C D)), результат Nil
x – (A (B C)) y – (C A (B C) (A)), результат T

Предикатом в Лиспе называют:
функцию, не имеющую выходные значения
прав.ответ функцию, имеющую выходные значения T и Nil
функцию, имеющую выходные значения TRUE и FALSE

В каком случае интерпретатор не выдаст сообщение об ошибке при вводе в его строку выражения > abcdefg:
в любом случае, т.к. идентификатор не может быть больше 5 символов
прав.ответ когда abcdefg является именем переменной, находящейся в ассоциативном списке
когда abcdefg является именем переменной, не находящейся в ассоциативном списке

Атом, введенный в строку без скобок, интерпретатор воспринимает как:
прав.ответ переменную
функцию
константу

Какой результат будет получен при интерпретации выражения (cadr (eval ‘(cdr ‘(a b c))))
прав.ответ c
(b с)
(c)
(a)
Сообщение об ошибке

Укажите выражения, при интерпретации которых возникнет сообщение об ошибке (Лисп элементарный):
(cddr ‘(A B . C))
(cdar ‘((A) B) )
прав.ответ (Caaadr ‘(A (B C)))
прав.ответ (cddr ‘(A . Nil))

Предикат — это:
функция, имеющая область значений — множество комплексных чисел
прав.ответ функция, имеющая выходные значения T и Nil
функция, имеющая только одно выходное значение T

В каком случае интерпретатор выдаст сообщение об ошибке при вводе в его строку выражения > a1:
когда a1 является именем переменной, находящейся в ассоциативном списке
прав.ответ когда a1 является именем переменной, не имеющей значения
прав.ответ когда a1 является именем функции

Какие из записей выражений не эквивалентны:
Nil и (quote nil)
(quote (Eq a)) и ‘(Eq a)
прав.ответ Nil и True
прав.ответ (car a) и ‘(car a)
прав.ответ T и Nil

Выражение (quote Atom) воспринимается интерпретатором как:
переменная
функция
прав.ответ константа

Функционалом называют функцию:
прав.ответ аргументами или результатом которой могут выступать другие функции
аргументами которой могут выступать значения, полученные вычислением других функций
аргументами которой могут выступать символьные выражения

Какие факторы должны быть учтены при определении отображающей функции:
прав.ответ способ получения результата из отображаемого множества
каким языком воспользоваться для написания этой функции
как распределить память под новое множество и определение функции

Отметьте, какая из приведенных ниже форм содержит ошибку:
(defun f(x y) (map-comp #’(lambda (x1 y1) (* (car x1) (car y1))) x y))
(defun f(x y) (map-el #’(lambda (x1) (cons x1 y)) x))
прав.ответ (map-comp #’car ‘((1)( 2)(3)) ‘((4) (5) (6)))

Какой из результатов вызова функционала map-comp, аргументами которого выступают следующие функции и списки, является правильным:
 (defun map-comp (fn al vl)            
     (cond
        (al (cons (fn (car al) (car vl))         
                  (map-comp (cdr al) (cdr vl))
)    )  )   )
           
(map-comp #’car ‘(1 2 3) ‘(1 2 4)), результат ( 1 2 3)
(map-comp #’cons ‘(1) ‘(5 2)), результат (1 . (5 2))
(map-comp #’cons ‘(1 2 3) ‘(1 (2 4))), результат ((1 . 1) (2 . 2) (3 . 4))
прав.ответ (map-comp #’cons ‘(1 2 3) ‘(1 (2 4) )), результат ((1 . 1) (2 2 4) (3))

Какая из приведенных ниже форм содержит ошибку:
прав.ответ (map-el ‘#(car ‘(1 2 3)) ‘(1 2 3) ‘(4 5 6))
прав.ответ (defun f3 (xl) (map-el (lambda (x) (* x x )) ‘xl))
(defun f(x y) (map-el #’(lambda (x1) (/ x1 y)) x))

Что такое функционал:
это функция, в качестве аргументов которой могут выступать любые формы
прав.ответ это функция, аргументом или результатом которой может выступать другая функция
это функция, в качестве аргументов которой могут выступать значения других функций, вычисленных ранее

Какой из результатов вызова функционала map-comp, аргументами которого выступают следующие функции и списки, является правильным:
 
 (defun map-comp (fn al vl)            
     (cond
        (al (cons (fn (car al) (car vl))         
                  (map-comp (cdr al) (cdr vl))
)    )  )   )
            
(map-comp #’/ ‘(1 2) ‘(2 2)), результат (0.5 .1.0)
(map-comp #’+ ‘(1 2 3) ‘(1 2)), результат (2 4)
(map-comp #’* ‘(1 2 3) ‘((1 2) 4)), результат ((1 2) 8)
прав.ответ (map-comp #’/ ‘(1 2) ‘(2 2)), результат (1/2 1)

Какой из результатов вызова функционала map-ap, аргументами которого выступают следующие функции и списки, является правильным:
(defun map-ap (fn ll)
     (cond
        (ll (append (fn (car ll) )
                  (map-ap fn (cdr ll) )
)    )  )   )
            
прав.ответ (map-ap #’cdr ‘(1 2 3)), результат ((2 3) (3) nil)
(map-ap #’car ‘(10.0 7.0)), результат (nil nil)
(map-ap #’cdr ‘((A B C)) ), результат (B C)

Какие факторы должны быть учтены при определении отображающей функции:
прав.ответ определение структуры данных в отображаемом множестве
каким образом сохранять определения функции в системе
прав.ответ как отличить нужные конечные результаты отображающей функции от промежуточных.

Какая из приведенных ниже форм не содержит ошибки:
(defun F(x y) (map-el #’* (cons x (cons y y))))
прав.ответ (map-comp #’(lambda (x y) (* x y)) ‘(1 2) ‘(3 4))
(map-el #’(lambda (y)(cons x y)) x))

Какой из результатов вызова функционала map-ap, аргументами которого выступают следующие функции и списки, является правильным:
(defun map-ap (fn ll)
     (cond
        (ll (append (fn (car ll) )
                  (map-ap fn (cdr ll) )
)    )  )   )
            
(map-ap #’* ‘(1 2 3)), результат (1 4 9)
прав.ответ (map-ap #’+1 ‘(10.0 7.0)), результат (11.0 8.0)
(map-ap #’cdr ‘((A B C) (A B (C))) ), результат (B C B C)

В чем заключается различие между аргументами (и значениями) функционалов и функций:
прав.ответ в качестве аргументов и результатов у функционалов могут выступать функции
в качестве аргументов и результатов у функций могут выступать только определенные типы объектов, а у функционалов любые
в качестве аргументов и результатов у функций могут выступать функционалы.

Какой из результатов будет получен при вычисления формы (union ‘(a b c) ‘(1 a a)), функция union имеет следующее определение:
 (DEFUN UNION (X Y)
        (COND
          ((NULL X) Y)
          ((MEMBER (CAR X) Y) (UNION (CDR X) Y) )
          (T (CONS (CAR X) (UNION (CDR X) Y))) )) )  
)) 
            
прав.ответ (b с 1 a a)
(с a a b 1)
(1 a b c)
(a с b 1)

Укажите, какая из приведенных ниже форм является специальной:
(eval ‘(car x))
прав.ответ (cond ((Eq x y) (print x)) (T (print y)) )
nil
(Eq (x y))

Какой из результатов вычисления формы (union ‘(a b c) ‘(с a b)) будет получен (учесть порядок следования элементов итогового списка). Функция Union имеет следующее определение:
(DEFUN UNION (X Y)
        (COND
          ((NULL X) Y)
          ((MEMBER (CAR X) Y) (UNION (CDR X) Y) )
          (T (CONS (CAR X) (UNION (CDR X) Y))) )) )  
)) 
            
(a с b)
(a b с)
прав.ответ (с a b)
(a b a b)

Каким образом низкоуровневая программа может быть включена в Лисп-систему:
прав.ответ создание низкоуровневой программы в Лисп-системе пользователем
прав.ответ путем трансляции Лисп-кода в код ассемблера Лисп-программы с дальнейшим использованием
лисп система не поддерживает работу с языком Ассемблер

Какой из результатов вычисления формы (union ‘(1 2 3) ‘(1 2 5)) будет получен (учесть порядок следования элементов итогового списка). Функция Union имеет следующее определение:
(DEFUN UNION (X Y)
        (COND
          ((NULL X) Y)
          ((MEMBER (CAR X) Y) (UNION (CDR X) Y) )
          (T (CONS (CAR X) (UNION (CDR X) Y))) )) )  
)) 
            
(1 2 3 5)
прав.ответ (3 1 2 5)
(3 2 5 1)
(1 2 5 3)

Каким образом низкоуровневая программа может быть включена в Лисп-систему:
никаким
прав.ответ создание низкоуровневой программы в Лисп-системе пользователем
создание низкоуровневой программы возможно вне систем программирования, но никак не внутри системы

Какой результат будет получен при вычислении формы (funcall (cons ‘car ‘(‘(C D)))):
C
(car ‘(C D))
прав.ответ сообщение б ошибке

Что означает запись (let ((a (cons x y))) a) :
замена в последующих выражениях списков «x» и «y» на список «a»
присваивание локальной переменной «a» результата консолидации (cons x y)
прав.ответ замена в выражениях (аргументах Let) повторяющегося подвыражения «(cons x y)» на «a» без воздействия на результат вычисления последующих форм

Какое из представленных ниже выражений содержит ошибки:
(1 . (2 3 . (4 5)))
(1 2 3 4 5)
прав.ответ (((1 . 2) . (3 . 4 . 5))

Укажите, какие функции являются псевдо-функциями Лисп-системы:
(cond)
прав.ответ (setq)
(union)

Какое из представленных ниже выражений содержит ошибки:
(((a . b) . c) d . e)
прав.ответ (a b .( c d) e)
(a b c d . e)

В каких случаях можно использовать инструкцию Let :
задание глобальной переменной значения
прав.ответ вынос из определения совпадающих подвыражений
вывод на экран результата выполнения функции, идущей в качестве аргумента Let

Каким образом реализуются замедленные вычисления:
прав.ответ запоминанием символьного выражения с контекстом его вычисления
формированием рецептов и запоминанием текущего состояния памяти
блокировкой вычислений и запоминанием текущего состояния стэка

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

Каким образом можно исключить повторное вычисление одного и того же рецепта:
введением флага, вычисленный рецепт будет иметь вид (e AL )
введением флага, вычисленный рецепт будет иметь вид (Nil (eval e AL ))
введением флага, вычисленный рецепт будет иметь вид (T e AL )
прав.ответ правильного из перечисленных выше ответов нет

Какая из формальных реализаций операции «возобновление вычислений» является верной:
(funcall (f x)), где f(x) определено с помощью (defun f(x) (x))
прав.ответ (apply (x ))
(evcon x)
(defun f(x) (x))

Какая информация содержится в ячейке, входящей в состав древовидного списка, в котором содержаться S-выражения в памяти:
прав.ответ атом, с адресом описательной структуры и адрес декремента
список (S-выражение) с описательной структурой
список, с адресом на описательную структуру и декремент

Для каких целей в Лисп-системе используют список свойств атома:
для хранения данных о состоянии ячейки памяти, занимаемой атомом
для хранения контекста, в котором используется данный атом
прав.ответ для хранения значений переменных, определений функции и других свойств, в т.ч. создаваемых самим программистом

Какая информация содержится в ячейке, входящей в состав древовидного списка, в котором содержаться S-выражения в памяти:
имя атома и список свойств этого атома
список (S-выражение) с описательной структурой
прав.ответ атом, с адресом описательной структуры и адрес декремента

С помощью какой функции Clisp можно посмотреть определение функции в списке свойств атома:
прав.ответ (symbol-function )
(function-symbol)
(symbol-value )

Укажите, какая из перечисленных ниже функций изменяет структуру существующих списков:
прав.ответ rplacd
caddr
Cond
lambda

Какой из результатов вычисления формы (grp ‘(1 2 (3))) является верным. Функция (grp x) имеет определение
(defun grp (x)
(list (car x) (list (cadr x) (caddr x)))
)
            
((1)(2)(3))
прав.ответ (1 (2 (3)))
(1 2 3)
(1 2 (3))

Каким образом хранятся S-выражения в памяти:
прав.ответ в виде древовидного списка неограниченной длины
в виде хэш-таблицы
в виде линейного списка фиксированной длины
в виде древовидного списка фиксированной длины

Какая из форм может служить аналогом подпрограммы на Pascal
procedure pr(x: integer);
begin
        a:=0;
        for i:=1 to x do
            a:=a+1;
      print (a);
end; 
 (prog pr ()   
  (setq a 0)
   B (cond ((= a x) (print a)(return a) ) )
      (setq a (+ a 1))
      (go B) 
 )
прав.ответ
(defun pr(x)
(prog (a)
   (setq a 0)
B (cond ((= a x) (print a)(return a) ) ) 
      (setq a (+ a 1))
      (go B) 
 ))
 (defun pr(x)
(prog (a)
   B (cond ((= a x) (print a)(return a) ) )
      (setq a (+ a 1))
      (go B) 
 ))

Какой результат будет получен при вычислении последовательности форм
                       
(set 'x 'y)
(set x 'z)
(setq z 5)
(list x y z) :
(x y z 5)
(x y z)
(5 x y)
прав.ответ (y z 5)

Как устроен основной рабочий цикл диалога с Лисп-системой:
прав.ответ чтение — печать – вычисление – печать
вычисление – печать
чтение-вычисление

Какая информация содержится в файле lispinit.mem, входящем в состав Лисп-системы:
прав.ответ начальный образ состояния памяти
исходные тексты программ
конфигурации системы

Каким образом можно ввести новое свойство атома в Лисп-систему:
(Setf «Атом» ‘свойство)
(Setf (get «Атом») свойство)
прав.ответ (Setf (get ‘Атом) ‘свойство)

Что непременно делает интерпретатор до применения безымянной функции:
связывает определение с аргументами функции
помещает аргументы функции в ассоциативный список
прав.ответ связывает переменные из списка параметров со значениями фактических аргументов

Добавить комментарий


Яндекс.Метрика