Выражение "если f(x,y)>0 то 1 иначе 0" на языке Scheme будет выглядеть так

Комбинатор вычеркиватель K можно задать правилом редукции

K a b → a

Функция h(f,g)=λ(x)f(g(x)) имеет тип

(Y→Z)x(X→Y)→ (X→Z)

Функция называется частичной или частично определенной

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

Что будет результатом работы функции cdr(X), если X='((A B) C (D E))?

(C (D E))

Соответствие между переменными и их значениями, которые являются S-выражениями называется

контекст

Регистрами SECD являются

Кроме Указатель на функциональное замыкание выполняемой функции Текст программы

Начало формы

Выражение "если f(x)>0 то 1 иначе 0" на языке Scheme будет выглядеть так

(IF (> (F X) 0) 1 0)

Вызов функции с меньшим числом аргументов, чем указано в определении функции, результатом которого является новая функция, называется

частичным применением

Укажите правильное определение для функции, определяющую, что атом x есть в списке s.

элемент(x,s)=если null(s) то #F иначе eq(x,car(s)) или элемент(x,cdr(s))

Правило

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

Для представления любого λ-выражения в комбинаторной логике достаточно следующих комбинаторов (укажите базис с минимальным количеством комбинаторов)

распределитель S вычеркиватель K

В функциональном программировании для управления процессом выполнения программы можно использовать конструкции

вызов подпрограммы ветвления

Функция cadr(x) возвращает

второй элемент списка x

Какие из следующих строк являются S-выражением?

(X Y) (( ) (A B C)) ( )

Замыкание состоит из

λ-выражения контекста, определяющего значения свободных переменных

Выражение "если g(x,y,z)>0 то 1 иначе 0" на языке Scheme будет выглядеть так

(IF (> (G X Y Z) 0) 1 0)

Выражение "если x>0 то 1 иначе 0" на языке Scheme будет

(IF (> X 0) 1 0)

Выполнение действий с циклическими структурами возможно в функциональном программировании только с помощью

запоминания

Укажите правильное определение для функции, определяющую длину списка s.

длина(s)={f(s,0) гдерек f=λ(x,y) если null(x) то y иначе f(cdr(x),y+1) }

Теоретической основой функционального программирования является

λ-исчисление Чёрча теория рекурсивных функций

Тождественный комбинатор I можно задать правилом редукции

I a → a

Какая функция позволяет сравнить два атома

eq

Блоки локальных определений используются, чтобы

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

не определять некоторые функции глобально

Какую формулу в языке Scheme следует использовать для проверки, что S-выражение X является атомом?

(NOT (PAIR? X))

Укажите правильное определение для функции, определяющую количество элементов списка s, равных заданному x.

колво(s,x)=если null(s) то 0 иначе колво(cdr(s),x)+(если eq(car(s),x) то 1 иначе 0)

Какая функция из перечисленных ниже имеет тип (XxY→Z) x X → (Y→Z)

g(f,a)=λ(x) f(a,x)

Редукция

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

Комбинатор фиксированной точки Y можно задать правилом редукции

Y a → a (Y a)

Что будет результатом работы функции отобр('(1 2 3), ув(5) ), если ув(n) = λ(z) z+n?

(6 7 8)

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

cdr

Укажите правильные утверждения:

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

Какую формулу в языке Scheme следует использовать для проверки, что два числа X и Y не равны?

(NOT (= X Y))

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

энергичным

Языками, реализующими функциональную парадигму программирования, являются

LISP Haskell Scheme

Выражение "если f(x,y)>0 то 1 иначе 0" на языке Scheme будет выглядеть так

(IF (> (F X Y) 0) 1 0)

Наши рекомендации