Внимание ! Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier! Основная структура данных языка Лисп:
список атом таблица
Как именуются элементарные данные в Лиспе:
список атом процедура функция
Из чего должны состоять списки в Лиспе:
из объектов любой природы, воспринимаемых системой из рекурсивных определений только из атомов из атомов и вложенных списков
Функция-это:
правило, по которому нескольким значениям аргумента ставится в соответствие несколько значений результата правило, по которому одному или нескольким значениям аргумента ставится в соответствие конкретное значение результата правило, по которому одному значению аргумента ставится в соответствие несколько значений результата
Какое фундаментальное понятие лежит в основе языка Лисп:
последовательность вычисляемых форм последовательность данных любой природы последовательность вычисляемых выражений
Программой на языке Лисп называют:
последовательность вычисляемых выражений последовательность вычисляемых форм последовательность вычисляемых атомов
Пары "переменная-значение" в элементарном Лиспе содержатся в:
ассоциативном списке базе данных переменных (группа временных файлов) хэш-таблице
Связывание переменных и их значений в элементарном Лиспе реализуется через:
хэш-таблицу ассоциативный список стек
Что такое стек:
это набор данных, элементы которого обрабатываются по принципу "первый пришел, последний вышел" это набор данных, элементы которого обрабатываются по принципу "последний пришел, последний вышел" это набор данных, элементы которого обрабатываются по принципу "первый пришел, первый вышел"
Под термином "Самоприменимость языка программирования " понимают:
описание интерпретатора языка программирования с помощью другого языка программирования описание компилятора средствами компилируемого языка описание интерпретатора средствами интерпретируемого языка описание функций языка программирования средствами этого же языка программирования
Общий принцип функционального программирования:
представление функции строится заранее представление функции строится и вычисляется также как и представление данных при символьном представлении данных представление функции нельзя построить теми же средствами, что и обработку значений
Какой стиль программирования преимущественно используется в Лисп-системах:
императивный функциональный декларативный
Какой подход в построении программ преимущественно используется в Лисп-системах программирования:
Какой подход в построении программ наиболее подходит для использования в Лисп-системах программирования:
интерфейсный декларативный функциональный
Что такое "форма" в контексте языка "Лисп":
список из имени функции, перечня ее аргументов и значений представление функции на языке Лисп список, состоящий из представления функции и всех ее аргументов
Под термином "форма" в языке Лисп понимается:
список из идентификатора функции, ее аргументов и ее всевозможных значений программа на языке Лисп список из представления функции и перечня ее аргументов
В Лиспе все типы данных:
включены в представление значений, поэтому они не указываются объявляются перед определением функции при описании ее аргументов объявляются в начале текста программы
В Лиспе все типы данных:
включены в представление значений необходимо объявлять в начале текста программы необходимо указывать при описании функции
Каким образом реализуется типизация данных в Лиспе:
каждый тип переменной указывается при описании функции в ее теле каждый тип переменной объявляется в начале текста программы типы данных включены в представление значений
Рекурсивной функцией называют:
функцию, определение которой имеет прямое или косвенное обращение к самой себе функцию, имеющую более чем 1 аргумент функцию, имеющей в теле своего определения обращение к любым другим функциям
Что такое рекурсивная функция:
это функция, имеющая несколько аргументов это функция, определение которой имеет прямое или косвенное обращение к самой себе это функция, имеющая несколько значений
Динамическое управление вычислениями это:
инструмент приостановки процесса вычислений функций и возобновления вычислений по мере необходимости механизм выборочного выполнения команд механизм обязательного выполнения команд
Под динамическим управлением вычислениями понимают:
механизм последовательного выполнения команд императивную организацию процессов вычислений блокировку вычислений и их откладывание до явного возобновления
Динамическое управление вычислениями может быть реализовано:
механизмом последовательного выполнения команд средствами блокировки вычисления функции и откладывания контекста вызова функции для возобновления вычислений возможностью императивной организации вычислений
Каким образом можно загрузить программу из файла в Лисп-интерпретатор:
загрузка программы осуществляется с помощью команды (eval (read 'filename)) необходимо создать файл с расширением .lsp, без дополнительной настройки ОС сама воспримет его как файл с программой после загрузки Лисп-системы набрать в командной строке выражение (load 'filename)
Каким образом можно загрузить Лисп-программу из файла:
необходимо создать файл с расширением .lsp, без дополнительной настройки ОС сама воспримет его как файл с программой после вызова Лисп-системы набрать в командной строке (load 'имяфайла) необходимо в файл перед строкой вида (выражение) вставить строку (eval (read))
Каким образом можно посмотреть на экране результат интерпретации выражения из файла:
необходимо создать файл с расширением .lsp и загрузить его функцией load необходимо в файл перед строкой вида (выражение) вставить строку (eval (print(read))) в файле строку "выражение" заменить строкой "(print выражение)" и набрать в командной строке (load 'имяфайла)
Элементарные функции в Лисп системе это:
встраиваемые S-выражения, имеющие определения на уровне исполнимого кода обычные атомы атомы, определенные как подпрограммы на уровне исполняемого кода
Элементарными функциями в Лисп системе называют:
атомы, определенные как подпрограммы на уровне исполняемого кода встраиваемые S-выражения, имеющие определения на уровне исполнимого кода любые неделимые элементы - атомы
Элементарными функциями в Лисп системе называют:
списки атомы, определенные как подпрограммы на уровне исполняемого кода функции, имеющие область значений (T Nil)
Какое событие произойдет после введения в строку интерпретатора выражения (Cons 'a BC):
появится сообщение об ошибке, что переменная "BC" не имеет значения появится сообщение об ошибке, что переменная "a" не имеет значения система выдаст правильный результат
Знак апострофа ' перед атомом означает
блокировку вычислений выражения, расположенного сразу за апострофом знак комментария выражение за апострофом будет предварительно вычислено
Какое событие произойдет после введения в строку интерпретатора выражения (Cons a (quote BC)):
появится сообщение об ошибке, что переменная "a" не имеет значения появится сообщение об ошибке, что переменная "BC" не имеет значения система выдаст правильный результат
Как посмотреть результаты пошаговой интерпретации выражения (cons 1 (cons 1 2)):
использовать инструкцию step после вызова (Step (cons 1 (cons 1 2))) использовать инструкцию step, а потом инструкцию (Step (cons 1 (cons 1 2))) использовать инструкцию continue после вызова функции (Step (cons 1 (cons 1 2)))
Каково назначение функции Step:
интерпретация своего аргумента с выводом результата выполнения команды на экран построение кода на языке ассемблер пошаговая интерпретация с выдачей результата выполнения команд на каждом шаге
Сообщение интерпретатора Step ---> (выражение) означает:
следующее выражение является результатом, который будет использоваться при следующих вызовах команды step на следующем шаге будет вычислено именно это выражение данное выражение является значением и вычисляться не будет
Из каких файлов состоит базовый комплект системы GNU Lisp:
из файла Lisp.exe, в котором содержатся все функции из файла СLisp.bat, в котором содержатся все функции из lisp.exe –интерпретатора и lispinit.mem – базы встроенных функций интерпретатора
Разбор выражения при интерпретации идет:
сверху вниз, результат формируется постепенно на каждом шаге, после разбора последнего подвыражения интерпретатор выдает результат снизу вверх (с вложенных подвыражений) сверху вниз до получения всех значений, потом построение итогового значения
Сообщение интерпретатора Step 3> означает:
команда step была вызвана 3 раза разбор подвыражения, находящегося на глубине 3 в дереве разбора номер строки после вызова функции (Step выражение)
Аргументы функции Defun в порядке следования это:
имя функции, список аргументов, определение функции имя функции, определение функции имя функции, определение функции, список аргументов
Список аргументов специальной функции Defun содержит в порядке следования:
имя функции, определение функции, список аргументов, тип результата имя функции, типы и имена аргументов, определение функции имя функции, список аргументов, определение функции
Какие аргументы имеет специальная функция Defun (порядок следования аргументов должен быть показан правильно):
имя функции, список аргументов, определение функции имя функции, определение функции, список аргументов, тип результата имя функции, определение функции, список аргументов
Какое событие произойдет после ввода в строку интерпретатора текста (Cons 'a 'BC:
ожидание продолжения ввода система выдаст правильный результат вычисления данного выражения появится сообщение об ошибке
Какое событие произойдет после ввода в строку интерпретатора текста Cons 'a 'BC:
появится сообщение об ошибке ожидание продолжения ввода система выдаст правильный результат вычисления данного выражения
Какое событие произойдет после ввода в строку интерпретатора текста (Cons 'a 'BC):
появится сообщение об ошибке сжидание продолжения ввода система выдаст правильный результат вычисления данного выражения
Процесс пошаговой интерпретации протекает до тех пор пока:
не закончится пошаговая интерпретация одного из выражений не закончится пошаговая интерпретация всех выражений не будет набрана команда Next
Процесс пошаговой интерпретации продолжается пока:
пока не будет набрана команда Break. не закончится пошаговая интерпретация всех выражений или не будет набрана команда Next не закончится пошаговая интерпретация одного из выражений
Можно ли остановить процесс пошаговой интерпретации и если можно, то каким образом:
набором команды Error набором команды команда Next процесс остановить нельзя (окончание после разбора последнего выражения)
Укажите, какие из приведенных ниже строк есть комментарии в системе Лисп:
abv ;(abv) (comment abv) ;;abv
Какие из приведенных ниже строк являются комментариями в системе Лисп:
Укажите, какие из приведенных ниже строк воспринимаются системой Лисп как комментарии:
(это есть комментарий) (comm это есть комментарий) ;это есть комментарий
Укажите результат вычисления выражения (CONS Nil 20)
(Nil . 20) (20) (Nil)
Какой результат будет получен при вычислении выражения (CONS 10 12)
(10 . 12) сообщение об ошибке, ведь надо поставить перед 10 и 12 знак апострофа (22)
Укажите результат вычисления выражения (CONS 20 'abc)
сообщение об ошибке, т.к. число и атом не могут образовать пару (abc . 20) (20 . abc)
Что такое список:
последовательность строк, заключенных в скобки последовательность любых данных - списков и атомов, а также S-выражений, разделенных пробелами, заключенная в скобки последовательность атомов, разделенных запятыми, заключенная в скобки
Что такое Атом:
это последовательность, состоящая из букв и цифр это последовательность, состоящая из букв и цифр, начинающаяся с буквы это последовательность, состоящая из букв и цифр, начинающаяся с цифры
Информация в Лисп-системе представляется виде:
атомов символьных выражений(s-выражения) функций
Какие из представленных ниже форм представляет одноэлементный список в Лиспе:
(ABC) ABC (NIL ABC)
Какие из представленных ниже форм представляют одноэлементный список в Лиспе:
(Atom) (Атом . Nil) Atom
Какие из представленных ниже форм представляют одноэлементный список в Лиспе:
(Nil) (NIL . NIL) Nil
Какие из перечисленных представлений являются несписочным S-выражением:
Atom (Atom) (1 . 3)
Какие из перечисленных представлений не являются списками:
(Lisp . Lisp) Lisp ('Lisp) (Lisp)
Какие из перечисленных представлений являются несписочным S-выражением:
(A) (A . B) '(A)
Какие из данных выражений представлены списками:
(Nil . Nil) A (()) ('A 'B)
Какие из s-выражений являются списками?
(1 T) (ab123) T . Nil (Nil . 1)
Какие из данных выражений представлены списками:
(1 2) (1 . 2) 1
Вычислимо ли выражение (EQ (car '(())) (cdr'(T . Nil))), если да, то какой ответ является верным:
да, ответ False нет, не вычислимо да, ответ T
Какой из результатов может быть получен при вычислении формы (eq '(Nil) (atom '(T))), и укажите причину, почему это так:
Nil, т.к. форма (eq '(Nil) (atom '(T))) сведется к вычислению (eq '(Nil) Nil) Nil, т.к. форма сведется к вычислению (EQ Nil T) T, т.к. предикат atom выдаст значении Nil сообщение об ошибке, т.к. '(nil) это список T, т.к. '(Nil) и '(T) являются атомами
Какое из значений может быть получено вычислением формы (cdr '(( a b) c d)):
(b c d) (с d) (d)
Какое из значений можно получить, вычислив форму (cdr '( a (b c) d)):
(a b c d) (b c) ((b c) d)
Какое из значений может быть получено при вычислении формы (cdr '( a (b (c)) d)):
(b (c)) (d) ((b (c)) d)
Укажите эквивалентную запись точеной нотации записи списочной нотации (A B (C) D)
Являются ли эквивалентными записи точечной и списочной нотаций (A . B . C) и (A B C) соответственно:
нет, эквивалентными являются записи (A . (B . (C . Nil))) и (A B C) нет, эквивалентными является записи (A . (B . C)) и (A B C) да нет, эквивалентными является записи (A . B . C) и (A (B C))
Укажите правильный результат вычисления формы (Cons '(A) '(A)):
(A . (A)) пара элементов (A . A) ((A) A)
Укажите правильный результат вычисления формы (Cons '(A) Nil):
одноэлементный список ((A)) s-выражение ((Nil . Nil) . A) пара элементов (A . Nil)
Укажите правильный результат вычисления формы (Cons 'Nil '(A)):
(Nil . A) пара элементов (A . Nil) (Nil A) (Nil . (Nil . A))
Результатом выполнения функции CDR над списком является:
первый элемент списка, элемент может быть списком часть списка без первого элемента (списка или атома) элемент с номером, которые подается в качестве второго аргумента в виде числа последний элемент списка, элемент может быть списком
Результатом выполнения функции СAR над списком является:
первый элемент списка, элемент может быть списком последний элемент списка, элемент может быть списком элемент с номером, которые подается в качестве второго аргумента в виде числа
Результатом выполнения функции CONS над двумя атомами является:
список вида (Атом1 Атом2) атом бинарный узел вида (Атом1 . Атом2)
Данные какого вида и типа могут выступать в качестве аргументов функции в Лиспе:
числа и строки любая форма произвольной длины и сложности только атомы
Каким образом в Лиспе изображаются имена переменных и функций:
с помощью знака апострофа " ' " перед именем функции или переменной с помощью списков с помощью атомов
Передача интерпретатору формы (f 'x 3) означает то, что:
вызывается функция f для двух аргументов 'x и 3, данные " x " и "3" подаются в функцию в качестве значений аргументов это форма блокирована для вычисления вызывается функция f, аргументом которой является результат вызова функции x с аргументом 3
Какая из перечисленных ниже форм вычислима:
(Eq 'A B) (Atom Cons (Quote A B C)) (Cons (Quote (A B С)) 'B)
Какая из перечисленных ниже форм вычислима:
(Atom (Quote A B C)) (Cons (A B С) 'B) (EQ (Atom (quote A)) (Atom '(Abc)))
Какая из перечисленных ниже форм вычислима:
(Cons '(a) ;(a b c)) (Eq (A) (B)) (Atom (quote (A B C)))
Какие события происходят в системе при вычислении интерпретатором формы ((lambda (x y) (cons x y)) 'A 'B):
переменная X связывается со значением A, Y – с B, выполняется однократное вычисление безымянной функции, строящей пару (A . B) в системе создается функциональный объект с именем Lambda данная форма останется доступной в системе с возможностью многократного ее вызова с различными значениями переменных X и Y
Что происходит при вычислении интерпретатором формы ((lambda (x) (cons x x)) 'A):
данная форма останется доступной в системе с возможностью многократного ее вызова с различными значениями переменной X в системе создается функциональный объект с именем Lambda переменная X связывается со значением A, выполняется однократное вычисление безымянной функции, строящей пару (A . A)
Что происходит при вычислении формы (defun f(x)(cons x x)):
имя функции f связывается с ее определением, но данная форма не вычислима, т.к. не указано значение переменной x имя функции f связывается с ее определением, и будет доступно далее при работе с интерпретатором имя функции f связывается с ее определением и будет доступно только один раз после вычисления указанной формы
Какое из выражений синтаксически корректно и не вызовет ошибку при интерпретации:
((defun (x y) (cons (cdr x)) '(a b с)) ((defun f(x) (cons (cdr x) (car x )) '(a b c))) ((lambda (x y) (cons (cdr y) (car x))) '(a b c) '(a))
Какое из выражений синтаксически корректно и не вызовет ошибку при интерпретации:
(defun f (cons (cdr x) (car x ))) ((lambda (x) (cons (cdr 'x) (car 'x))) '(a b c)) ((defun (x) (cons (cdr x)) '(a b с)) ()defun f(x y) (cons (cdr x) (car y )) ((lambda (x) (cons (cdr x) (car x))) '(a b c))
Какое из выражений синтаксически корректно и не вызовет ошибку при интерпретации:
Какая из приведенных ниже функций является рекурсивной с правильным выходом из рекурсии:
(defun f (x) (cond ((Atom x) x)(T (f (car x))))) (defun f (x) (f (car x))) (defun f (lambda (x) (cond (T ( * x (f (- x 1 ))) ) ) ))
В каком порядке будет проходить вычисление формы ((lambda (x) (car (cons (cdr x) x))) '(1 2 3)):
связывание переменной x со значением (1 2 3), вычисление головы списка, вычисление хвоста списка, соединение хвоста и остального списка, результат ((2 3) (1 2 3)) связывание переменной x со значением (1 2 3), вычисление хвоста списка, консолидация с исходным списком, вычисление головы итогового списка, результат (2 3) построение формы (car (cons (cdr x) x)) ,подстановка в нее значения '(1 2 3) (связывание с переменной x), вычисление хвоста списка, консолидация со списком, вычисление головы итогового списка, результат (2 3)
Какая из последовательностей действий на первом шаге рекурсии, выполняемых интерпретатором при вычислении выражения (Факториал 1) , где факториал:
(DEFUN Факториал (LAMBDA (N) (COND ((= N 0 ) 1 ) (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 ))) ) }, вычисление этого предиката и переход ко второму шагу рекурсии выбор определения функции { (COND ((= N 0 ) 1 ) (T ( * N (Факториал (- N 1 ))) ) }, выделение параметров {n = 1}, немедленный выбор второй ветви cond {(T ( * N (Факториал (- N 1 ))) ) }, вычисление этого предиката и переход ко второму шагу рекурсии
Как правильно будет выглядеть эквивалент условного выражения языка Паскаль"if ((a + b) = 3) then print (a) else print (b)" на языке Лисп:
(cond ((= (+ a b) 3) print a) (else print b)) (cond (( a + b) = 3) (print a)) (T (print b))) (cond ((= (+ a b) 3) (print a)) (T (print b)))
Как правильно будет выглядеть эквивалент условного выражения языка Паскаль "if (a>b) then print (a) else print (b)" на языке Лисп:
(cond ((> a b) print a) (else print b)) (cond ((< a b) (print a)) ((> a b) (print b))) (cond ((> a b) (print a)) (T (print b)))
Как правильно будет выглядеть эквивалент условного выражения языка Паскаль "if (a=b) then print ('a равно b') else print ('a не равно b')" на языке Лисп:
(cond ((= a b) print "a равно b") ("a не равно b")) (cond ((eq a b) (print "a равно b")) (T (print "a не равно b"))) (cond ((= a b) (print "a равно b")) (T (print "a не равно b")))
Являются ли приведенные ниже описания функции взятия правого элемента (атома ) списка (списочной нотации) семантически и синтаксически верными. Указать верное описание:
Являются ли приведенные ниже описания функции взятия второго элемента (необязательно атома) списка семантически и синтаксически верными. Указать верное описание:
Какая из перечисленных ниже форм может быть переменной:
Adcdefj (A) 'A
Какая из перечисленных ниже форм может быть переменной:
(var A) A123 123A
Какая из перечисленных ниже форм может быть переменной:
(Abс) Abc A(1)2
Что получится в результате вычисления формы (cons (car '(A B C)) 'D):
((car '(A B C)) D) (A . D) (A D) ((A) D)
Каким будет результат вычисления формы (cons (cdr '(A B C)) (car '((D)))):
(B C (D)) ( (B C) D) ((car '(A B C)) (D))
Каким будет результат вычисления формы (cons (car '(A B)) '((D))):
(A (D)) (A D) (A . ((D . Nil) . Nil))
Какая из данных форм вычислима:
((lambda (x y) (eq 'x 'y)) A 'A) ((lambda (z) (cons z 'x)) '(AB)) ((lambda (x) (eq x 0)) (a b))
Какая из данных форм вычислима:
((lambda (x y) (cons x 'a)) '(a b)) ((lambda (x) (atom 'x)) 1) ((lambda (z) (cons z x)) '(A) 'B))
Какая из данных форм вычислима:
((lambda (x y) (eq 'x 'y)) 'A 'A) ((lambda (x y) (cons x 'a)) '(a b)) ((lambda (z) (cons z 'x)) (AB))
Какие способы представления структур данных используются в Лиспе:
в виде дерева, списочная и точечная нотации только списочная и строковая списочная и точечная нотации
Для чего используется ассоциативный список в базовом Лиспе:
для хранения списка свойств атома для связывания идентификатора (имени функции и переменной) со значением (определением) для хранения списка аргументов функций
Что такое форма:
это любое выражение это список только в точечной нотации это выражение, которое может быть вычислено
Какие из представленных ниже форм являются вычислимыми формами языка Лисп:
(cond ((Atom 'a) 1) (T 0)) (a 230 '3000), где a – функция, 1 и 2 аргументы a, где a–переменная a, где a–имя функции
Какие из представленных ниже форм являются вычислимыми формами языка Лисп:
a, где a –переменная (quote a) (1 2 3) (a b c), где a – функция, b и c переменные a, где a – имя функции
В каких случаях правильно указано число обращений к функции 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):
обращений – 4, аргументы x- T, y - T, z - (B A C) обращений – 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)
В каких случаях правильно указано число обращений к функции 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):
обращений – 1, аргументы x- A, y - B, z - C обращений – 1, аргументы x- (1 2), y - A, z - (A B C) обращений – 3, аргументы x- (A B), y - (С D), z - (A B C D) обращений – 4, аргументы x- (1 2), y - A, z - (B A C 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):
обращений – 4, аргументы x- (1 2), y - (3 4), z - (1 2 3 4) обращений – 3, аргументы x- A, y - A, z - (A B C) обращений – 0, аргументы x- A, y - B, z – C обращений – 2, аргументы x- (1 2), y - A, z - (B A C D)
В каких случаях правильно указано число вызовов функции Cons (в определении append) при вызове функции append, имеющей определение
В каком случае правильно указано количество обращений к последней ветви ((QUOTE T) (QUOTE NIL)) второго (вложенного) Cond функции Equal, имеющей определение
при интерпретации выражений с указанными ниже аргументами:
обращений - 2, аргументы (a b) и ((c) (b)) обращений – 1, аргументы (a1 b1) и (a1 b1) обращений –2, аргументы (a (b)) и (с d) обращений – 0, аргументы (a1 b1) и (a1 c1)
В каком случае правильно указано количество обращений к последней ветви ((QUOTE T) (QUOTE NIL)) второго (вложенного) Cond функции Equal, имеющей определение
при интерпретации выражений с указанными ниже аргументами:
обращений – 1, аргументы (1 2) и (1 0) обращений –1, аргументы (a b) и (a (d)) обращений -3, аргументы (a b) и (c b) обращений – 1, аргументы (a b) и (a c)
В каком случае правильно указано количество обращений к последней ветви второго (вложенного) Cond функции Equal, имеющей определение
при интерпретации выражений с указанными ниже аргументами:
обращений -3, аргументы (a b) и (c b) обращений – 0, аргументы (a b) и (c d) обращений –0, аргументы (a (b)) и (с d) обращений – 1, аргументы (a b) и (a c)
В каких случаях правильно указан результат выполнения функции 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), результат Nil x – (A B C), y – (A B (C D)), результат T x- (A B C), y - (A B C D), результат T y – (A (B) C) y – (C A (B) C A), результат 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 C)) y – (C A (B C) (A)), результат T x – (A B C), y – (A B (C D)), результат Nil x – (A (B)), y – (C (B) A), результат T x- (A B C), y - (A B C D), результат Nil
В каком случае правильно указан результат выполнения функции 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 x- ((A) B C), y - (A B C D), результат T y – (A (B) C) y – (C (B) C A), результат T x – (B C D), y – (A (B C D)), результат T
В каких случаях правильно указан результат применения функции Assign, имеющей описание
(DEFUN assign (x v al) (COND ((Null al) (CONS (CONS x v) Nil )) ((equal x (CAAR al))(CONS (CONS x v) (CDR al))) ((QUOTE T) (CONS (CAR al) (assign x v (CDR al)))) ))
к следующим аргументам:
аргументы: x – 'a v – 2 al – ((a . 1)(a . 4)(b . 2)) Результат: ((a . 1)(a . 4) (a . 2))
аргументы: x – 'a v – 5 al - ( (b . 3)) Результат: ((b . 3)(a .5))
аргументы: x – 'a v – 2 al - ((b .3) (c . 2)) Результат: ((b . 3)(c . 2)) аргументы: x – 'a v – 5 al - ((a . 0)) Результат: ((a . 5)(a . 0))
аргументы: x – 'a v – 3 al – ((a . 2)(a . 4)(a . 1)) Результат: ((a . 1)(a . 2)(a . 3)(a . 4))
В каких случаях правильно указан результат применения функции Assign, имеющей определение
(DEFUN assign (x v al) (COND ((Null al) (CONS (CONS x v) Nil )) ((equal x (CAAR al))(CONS (CONS x v) (CDR al))) ((QUOTE T) (CONS (CAR al) (assign x v (CDR al)))) )) к следующим аргументам:
аргументы: x – a v – 3 al – '((b . 1) (a . 2)) Результат: ((b . 3)(a . 2)(a . 3))
аргументы: x – a v – 3 al – '((a . 2)(a . 4)(b . 2)) Результат: ((a . 2)(a . 3)(a . 4)(b . 2))
аргументы: x – a v – 5 al – '((a . 1)(a . 3)) Результат: ((a . 5)(a . 3))
аргументы: x – a v – 2 al – '((a . 1) (b . 2)) Результат: ((a . 2)(a . 1)(b . 2))
аргументы: x – a v – 2 al – '((a . 1) (b . 2)) Результат: ((a . 2)(b .2))
Внимание ! Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier! В каком случае интерпретатор выдаст сообщение об ошибке при вводе в его строку выражения > (a ):
когда a не является именем функции без параметров в любом случае, т.к. (a) есть недопустимая конструкция когда a является именем функции, а не именем переменной
Какие из записей выражений не эквивалентны:
Nil и (quote nil) (car a) и '(car a) (quote (Eq a)) и '(Eq a) Nil и True T и Nil
Какие из записей выражений эквивалентны:
Nil и (Quote Nil) Nil и (Nil Nil) (car 'abc) и (car (quote abc)) (car 'abc) и (car abc) (quote True) и 'True
Какие из записей выражений эквивалентны:
T и True (Eq) и '(Eq) T и 'T Nil и False Nil и (Quote Nil)
Укажите выражение, при интерпретации которого возникнет сообщение об ошибке (Лисп элементарный):
(car '(A)) (car 'A) (Caar '(A B C)) (caar '((A) B) )
Укажите выражения, при интерпретации которых возникнет сообщение об ошибке (Лисп элементарный):
(Caaadr '(A (B C))) (cddr '(A B . C)) (cddr '(A . Nil)) (cdar '((A) B) )
Укажите выражения, при интерпретации которых возникнет сообщение об ошибке (Лисп элементарный):
(Caar '((A) B C)) (cadr '((A) B)) (cadr '((A) . B) ) (car A)
Выражение (quote Atom) воспринимается интерпретатором как:
переменная функция константа
Атом, введенный в строку без скобок, интерпретатор воспринимает как:
функцию переменную константу
Атом, введенный в строку интерпретатора в скобках в виде "(Атом)", воспринимается им как:
переменная константа функция
Что непременно делает интерпретатор до применения безымянной функции:
связывает определение с аргументами функции помещает аргументы функции в ассоциативный список связывает переменные из списка параметров со значениями фактических аргументов
Что непременно делает интерпретатор до применения функции:
связывает переменные из лямбда-списка параметров со значениями фактических аргументов связывает имя функции с ее аргументами вычисляет значение функции
Что непременно делает интерпретатор до применения функции:
вычисляет всевозможные значения функции (определяет область значений функции) связывает имя функции с областью значений связывает переменные в списке параметров со значениями фактических аргументов
Какой результат будет получен при интерпретации выражения (cddr (eval '(cdr '(a b c))))
Сообщение об ошибке Nil (b с) b
Какой результат будет получен при интерпретации выражения (car (eval (cdr '(a b c))))
Сообщение об ошибке (b с) b
Какой результат будет получен при интерпретации выражения (cadr (eval '(cdr '(a b c))))
(b с) (c) Сообщение об ошибке (a) c
В чем заключается различие между аргументами (и значениями) функционалов и функций:
в качестве аргументов и результатов у функций могут выступать только определенные типы объектов, а у функционалов любые в качестве аргументов и результатов у функций могут выступать функционалы. в качестве аргументов и результатов у функционалов могут выступать функции
Что такое функционал:
это функция, в качестве аргументов которой могут выступать любые формы это функция, аргументом или результатом которой может выступать другая функция это функция, в качестве аргументов которой могут выступать значения других функций, вычисленных ранее
Функционалом называют функцию:
аргументами или результатом которой могут выступать другие функции аргументами которой могут выступать значения, полученные вычислением других функций аргументами которой могут выступать символьные выражения
Какие факторы должны быть учтены при определении отображающей функции:
как распределить память под новое множество и определение функции каким языком воспользоваться для написания этой функции способ получения результата из отображаемого множества
Какие факторы должны быть учтены при определении отображающей функции:
структура данных в отображаемом множестве каким языком воспользоваться для написания этой функции метод, с помощью которого вычисляется итоговое значение результата
Какие факторы должны быть учтены при определении отображающей функции:
каким образом сохранять определения функции в системе определение структуры данных в отображаемом множестве как отличить нужные конечные результаты отображающей функции от промежуточных.
Какой из результатов вызова функционала map-el, аргументами которого выступают следующие функции и списки, является правильным:
(map-ap #'car '(10.0 7.0)), результат (nil nil) (map-ap #'cdr '(1 2 3)), результат ((2 3) (3) nil) (map-ap #'cdr '((A B C)) ), результат (B C)
Укажите, какие функции являются псевдо-функциями Лисп-системы:
(print) (intesection) (let)
Укажите, какие функции являются псевдо-функциями Лисп-системы:
(union) (setq) (cond)
Что такое псевдо-функция:
это функция, в качестве аргументов которой могут выступать другие функции это функция, которая выполняется ради воздействия на систему это функция, которая выполняется ради получения значений
Какой из результатов будет получен при вычисления формы (union '(a b c) '(1 a a)), функция union имеет следующее определение:
Какой из результатов вычисления формы (union '(a b c) '(с a b)) будет получен (учесть порядок следования элементов итогового списка). Функция Union имеет следующее определение:
Какой из результатов вычисления формы (union '(1 2 3) '(1 2 5)) будет получен (учесть порядок следования элементов итогового списка). Функция Union имеет следующее определение:
Какие из представленных ниже выражений содержат ошибки:
(((a . b) . c) d e) (a . b c d e) (a . b .( c d e))
Какое из представленных ниже выражений содержит ошибки:
(a b c d . e) (((a . b) . c) d . e) (a b .( c d) e)
Какие из представленных ниже выражений содержат ошибки:
(((a . b) . c) d e) (a b ( c d . e)) (a b c d e . nil)
Какая из представленных ниже пар форм дает одинаковые результаты при их вычислении:
(eval '(f x y)) и (funcall f x y) (eval (f x y)) и (funcall f x y) (eval f (x y)) и (apply (f x y)) (eval '(f 'x 'y)) и (funcall f x y)
Какая из представленных ниже пар форм имеет одинаковые результаты при их вычислении:
(eval '(f x y)) и (funcall f 'x 'y) (apply (f x y)) и (funcall f x y) (eval '(f 'x 'y)) и (eval '(f x y)) (apply (f x y)) и (funcall (f x y))
Что означает запись (let ((a (car x)) (b (car y))) a b):
замена в последующих выражениях повторяющихся подвыражений "a" и "b" на "(car x)" и "(car y)" замена в выражениях (аргументах Let) повторяющихся подвыражений "(car x)" и "(car y)" на "a" и "b" замена в последующих выражениях повторяющихся голов " x" и "y" на "a" и "b"
Что означает запись (let ((a (cons x y))) a) :
присваивание локальной переменной "a" результата консолидации (cons x y) замена в последующих выражениях списков "x" и "y" на список "a" замена в выражениях (аргументах Let) повторяющегося подвыражения "(cons x y)" на "a" без воздействия на результат вычисления последующих форм
В каких случаях можно использовать инструкцию Let :
задание глобальной переменной значения вывод на экран результата выполнения функции, идущей в качестве аргумента Let вынос из определения совпадающих подвыражений
Каким образом низкоуровневая программа может быть включена в Лисп-систему:
создание низкоуровневой программы в Лисп-системе пользователем путем трансляции Лисп-кода в код ассемблера Лисп-программы с дальнейшим использованием лисп система не поддерживает работу с языком Ассемблер
Каким образом низкоуровневая подпрограмма может быть включена в Лисп-систему:
создание низкоуровневой программы в Лисп-системе пользователем создание низкоуровневой программы возможно вне систем программирования, но никак не внутри системы создание низкоуровневой программы в другой системе и ее перенос в Лисп систему
Какой результат будет получен при вычислении формы (funcall (cons 'car '('(C D)))):
(car '(C D)) сообщение б ошибке C
Какой результат будет получен при вычислении формы (cons '(car '(A B) (car '(C D)))) :
((car '(A B)) . C) сообщение об ошибке (A . C)
Какой результат будет получен при вычислении формы (cons '(car '(A B)) '(car '(C D))) :
((car '(A B)) . (car '(B C))) (A . C) сообщение об ошибке
Какое из представленных ниже выражений содержит ошибки:
Что означает термин "рецепт вычисления выражений":
рецепт – это ссылка на параллельный процесс рецепт – это ссылка на существующую форму и связанный с ее исполнением ассоциативный список рецепт - это ссылка на обыкновенную вложенную функцию
Что содержится в рецепте вычисления:
отложенная форма и контекст, в котором она вызывается адрес вычисляемой формы только вычисляемая форма
Каким образом реализуются замедленные вычисления:
блокировкой вычислений и запоминанием текущего состояния стэка формированием рецептов и запоминанием текущего состояния памяти запоминанием символьного выражения с контекстом его вычисления
В чем заключается преимущество использования ленивых вычислений:
экономия памяти экономия времени за счет исключения невостребованных вычислений экономия строчек кода
В чем заключается преимущество использования ленивых вычислений:
экономия памяти экономия времени за счет исключения невостребованных вычислений экономия времени при проектировании программы
В чем заключается преимущество использования ленивых вычислений:
экономия строчек кода экономия времени за счет исключения невостребованных вычислений возможность использования нетипизированных переменных
Сохранение и последующий вызов функции называется:
вызовом по необходимости вызовом по значению вызовом по ссылке вызовом по имени
Приостановка и последующее возобновление вычислений называется:
вызовом по событию вызовом по указателю вызовом по значению вызовом по необходимости
Откладывание представления формы с последующим ее вычислением, если понадобилось ее значение, называется:
вызовом по необходимости вызовом по событию системным вызовом вызовом по ссылке
В чем заключается действие описанной в лекции операции "приостановка вычислений":
вычисления аргумента этой функции не откладывается, аргумент вычисляется моментально. вычисления аргумента этой функции откладывается, аргумент запоминается вместе с контекстом вызова для последующего возобновления вычислений вычисления аргумента этой функции не откладывается, аргумент запоминается вместе с контекстом вызова для текущего вычисления
В чем заключается действие описанной в лекции операции "приостановка вычислений":
аргумент этой функции запоминается для последующего вычисления (вычисление откладывается) аргумент этой функции не вычисляется аргумент этой функции вычисляется
В чем заключается действие описанной в лекции операции "приостановка вычислений":
вычисление формы-аргумента запоминается и откладывается для последующего возобновления форма-аргумент этой функции вычисляется в соответствии с контекстом вызова отменяется вычисление формы-аргумента
Какая из формальных реализаций операции "приостановка вычислений" является верной:
(lambda (x) x) "x" ;x (lambda () x)
Какая из формальных реализаций операции "приостановка вычислений" является верной:
(defun f(x) x) (lambda () x) (quote x) 'x
Какая из формальных реализаций операции "приостановка вычислений" является верной:
(eval x) 'x (lambda () x) (defun f(x) x)
Какая из формальных реализаций операции "возобновление вычислений" является верной:
(apply (x )) (evcon x) (funcall (f x)), где f(x) определено с помощью (defun f(x) (x)) (defun f(x) (x))
Какая из формальных реализаций операции "возобновление вычислений" является верной:
(lambda (x) (x) x) (eval x AL), где AL-ассоциативный список (x ) (defun f(x) (x))
Какая из формальных реализаций операции "возобновление вычислений" является верной:
(funcall x) (defun f(x) (x)) (x ) (append x)
В чем заключается действие операции "возобновление вычислений":
аргумент этой функции вычисляется, она является аналогом eval аргумент этой функции не вычисляется аргумент этой функции вычисляется после отложения вычисления (вычисляется с контекстом вызова)
В чем заключается действие описанной в лекциях операции "возобновление вычислений":
аргумент этой функции вычисляется, она является аналогом eval аргумент этой функции рассматривается системой как комментарий аргумент этой функции вычисляется с потерей значения
В чем заключается действие описанной в лекциях функции "возобновление вычислений":
аргумент этой функции вычисляется в соответствии с контекстом вызова аргумент этой функции может не вычисляться аргумент этой функции – выражение, которое будет вычислено после вычисления остальной части выражения, в состав которого оно входит
Каким образом можно исключить повторное вычисление одного и того же рецепта:
введением флага, невычисленный рецепт будет иметь вид (Nil e AL ) правильного из перечисленных выше ответов нет введением флага, не вычисленный рецепт будет иметь вид (T e AL ) введением флага, не вычисленный рецепт будет иметь вид (T (eval e AL ))
Каким образом можно исключить повторное вычисление одного и того же рецепта:
введением флага, вычисленный рецепт будет иметь вид (T (eval e AL )) введением флага, вычисленный рецепт будет иметь вид (Nil e AL ) правильного из перечисленных выше ответов нет введением флага, вычисленный рецепт будет иметь вид (T e AL )
Каким образом можно исключить повторное вычисление одного и того же рецепта:
введением флага, вычисленный рецепт будет иметь вид (e AL ) введением флага, вычисленный рецепт будет иметь вид (Nil (eval e AL )) правильного из перечисленных выше ответов нет введением флага, вычисленный рецепт будет иметь вид (T e AL )
Какая информация содержится в элементах списка свойств атома:
наименование и значение хранится в списке свойств атома, там же хранятся добавляемые пользователем свойства (произвольное количество элементов) символьное название (1 элемент) наименование хранится в ассоциативном списке, а в списке свойств атома хранятся добавляемые пользователем свойства (нефиксированное количество элементов)
Какая информация содержится в элементах списка свойств атома:
указатели на содержащиеся в памяти атомы, хранящиеся в одном списке (в системе один список свойств атомов) указатель на содержащийся в памяти атом, и другие свойства, добавленные пользователем наименование и значение атома, а также любое количество дополнительных свойств, добавленных пользователем
Для каких целей в Лисп-системе используют список свойств атома:
для хранения данных о состоянии ячейки памяти, занимаемой атомом для хранения значений переменных, определений функции и других свойств, в т.ч. создаваемых самим программистом для хранения контекста, в котором используется данный атом
Каким образом происходит сбор мусора в Lisp:
помечаются все свободные блоки, они и передаются под использование помечаются все занятые блоки памяти, а оставшиеся свободные отдаются под повторное использование происходит полное очищение всей памяти, которую использует система
Для чего необходима сборка "мусор":
для очищения памяти перед запуском Лисп-системы для повторного распределения памяти для очищения памяти после завершения работы системы
Каким образом происходит сбор мусора в Lisp:
помечаются все свободные блоки, они и передаются под использование помечаются все занятые блоки памяти, а оставшиеся свободные отдаются под повторное использование память не очищается во время работы системы
Какая информация содержится в ячейке, входящей в состав древовидного списка, в котором содержаться S-выражения в памяти:
атом, с адресом описательной структуры и адрес декремента список (S-выражение) с описательной структурой имя атома и список свойств этого атома
Какая информация содержится в ячейке, входящей в состав древовидного списка, в котором содержаться S-выражения в памяти:
список (S-выражение) с описательной структурой атом, с адресом описательной структуры и адрес декремента список, с адресом на описательную структуру и декремент
Каким образом хранятся S-выражения в памяти:
в виде древовидного списка фиксированной длины в виде древовидного списка неограниченной длины в виде хэш-таблицы в виде линейного списка фиксированной длины
Какой из результатов вычисления формы (rplacd (car x) (cddr x)), где x – список (a b c d), является верным:
(a b c a) (a) (a b a) (a с d)
Какой из результатов вычисления формы (rplacd (cdr x) (car x)) , где x – список (a b c d), является верным:
(a b c a) (a) (a b a) (b c d a)
Какой из результатов вычисления формы (rplacd (cddr x) (car x)), где x – список (a b c d), является верным:
(a b a) (b c d a) (a) (a b c a)
Каким образом можно ввести новое свойство атома в Лисп-систему:
Какие из приведенных ниже высказываний являются верными:
выход из prog-формы происходит при вызове функции return метки в prog-форма реализуются с помощью специальной функции label Prog-форма может быть рекурсивной
Когда могут быть использованы prog-выражения:
при написании функционально-ориентированых выражений при написании объектно-ориентированого кода при написании программ на Лиспе в императивном стиле
Каким образом можно установить значение 1 глобальной переменной a:
(set a 1) (setq a 1) (Let a 1)
Какая из форм, представленных ниже, описывает оператор присваивания set, где Alist – ассоциативный список системы:
(defun set (x y) (cons x y) Alist) (defun set (x y) (assign x y Alist) ) (defun set (x y) (eval '(cons x y) Alist) )
Какой результат будет получен при вычислении последовательности форм
(set 'x 'y) (set x 'z) (setq z 5) (list x y z) :
(y z 5) (x y z 5) (x y z) (5 x y)
Какой результат будет получен при вычислении последовательности форм (set 'x 'car) (funcall x '(a b c)) :
car сообщение об ошибке a (car '(a b с))
Какая из приведенных ниже форм позволяет находить максимальный элемент 'i' списка 'L':
(defun maxm (x) ( prog (i L) (setq i 0) (setq L x) A (cond ((Null L) (return i)) ) (cond ((> (car L) i) (setq i (car L))) ) (setq L (cdr L)) (go A) )
)
(prog maxm (i L) (setq i 0) (setq L x) A (cond ((Null L) (return i)) ) (cond ((> (car L) i) (setq i (car L))) ) (setq L (cdr L)) (go A) )
(defun maxm (x) ( prog (i L) A (cond ((Null L) (return i)) ) (cond ((> (car L) i) (set i (car L))) ) (set L (cdr L)) (Loop A) ) )
C помощью каких форм можно посчитать количество элементов 'i' в списке 'x':
(defun pr(x i) (cond ((Null x) i)(T (pr (cdr x) (+ i 1))) ))(defun pr0 (x) (pr x 0))
(defun pr(x) (prog () (setq i 0) (setq L x) (cond ((Null L) (return i))) (setq L (cdr L)) (setq i (+ i 1)) ) )
(defun pr (x) (prog () (setq i 0) (setq L x) A (cond ((Null L) (return i))) (setq L (cdr L)) (setq i (+ i 1)) (go A) ) )
Вы можете обратится к нам напрямую, через:
По Skype: molodoyberkut По Telegram: @MolodoyBerkut По ICQ: 657089516