Главная /
Основы функционального программирования /
По какой причине не может быть вычислена форма ((cons x 'два) 'три). Что в ней надо подправить, чтобы добиться вычислимости?
По какой причине не может быть вычислена форма ((cons x 'два) 'три)
. Что в ней надо подправить, чтобы добиться вычислимости?
вопрос
Правильный ответ:
первый элемент списка имеет значение, но оно не представляет собой функцию. Например, можно перед ним вставить
lambda (x )
. Это даст форму ( (lambda (x )(cons x 'два)) 'три)
и ее значение (три . два)
первый элемент формы должен быть атомом, так что можно убрать скобки из аргументов, что дает
(cons x 'два 'три )
надо изображение переменной
x
заменить на конкретное значение, например 'шесть
, что даст нечто вроде ((cons 'шесть 'два) 'три)
Сложность вопроса
50
Сложность курса: Основы функционального программирования
93
Оценить вопрос
Комментарии:
Аноним
Экзамен сдан на отлично. Спасибо vtone
09 мар 2018
Аноним
Очень сложные тесты
21 фев 2016
Другие ответы на вопросы из темы программирование интуит.
- # Применение какого языка программирования впервые показало возможности функционального программирования при решении новых сложных задач?
- # На каких данных расход памяти (число вызовов cons) при вычислении функции subst (подстановка первого аргумента вместо второго в третий) пропорционален длине последнего из аргументов?
- # Какие из перечисленных форм одинаково обрабатывают исходные данные?
- # Какие из определений не содержат функциональных переменных?
- # Какие из приведенных определений могут вызывать при компиляции обработку функциональных переменных?