LISP Questions & Answers – Predicates – 1

This set of LISP Multiple Choice Questions & Answers (MCQs) focuses on “Predicates – 1”.

1. What is a procedure that returns a value that signals true or false?
a) List
b) Predicates
c) Data
d) None of the mentioned

Explanation: A predicate is a procedure that returns a value that signals true or false.

2. Which primitive tests two arguments to see if their values are the same expression?
a) Equal
b) Eql
c) Eq
d) =

Explanation: Equal primitive tests two arguments to see if their values are the same expression. It works on atoms and lists.

3. Which predicate tests to see if its first argument is an element of its second argument?
a) EQ
b) =
c) MEMBER
d) None of the mentioned

Explanation: MEMBER will return what is left of the list when the matching symbol is encountered.

4. What is meant by keyword argument?
a) Arguments that follows a keyword
b) Lists
c) Data
d) Procedure

Explanation: It is used to modify a procedure’s basic behaviour along the line.

5. Which is used to produce a procedure object from a procedure name?
a) EQ
b) #
c) EQUAL
d) None of the mentioned

Explanation: From procedure name to produce procedure object # is used always.
Note: Join free Sanfoundry classes at Telegram or Youtube

6. What is the output of the given statement?

`span class="sy0"> * (equal (+ 2 2) 3)`

a) T
b) NIL
c) F
d) Both NIL & F

Explanation: As 4 is not equal 3, it is printing NIL.
Output:
NIL

7. What is the output of the given statement?

`span class="sy0"> * (= '(this is a list) 1)`

a) T
b) NIL
c) Error
d) None of the mentioned

Explanation:= is used to test two numbers only.

8. What is the output of the given statement?

```*(setf sentence '(a rough road leads to stars))
*(member 'stars sentence)```

a) Stars
c) Sentence

Explanation: Member is used to see if its first argument is an element of its second argument.
Output:
(STARS)

9. What is the output of the given statement?

```span class="sy0"> * (setf pairs '((maple shade) (apple fruit)))

b) Maple
c) T
d) Nil

Explanation: Any symbol beginning with a colon is said to be a keyword.
Output:
NIL

10. What is the output of the given statement?

```span class="sy0"> * (setf predicate #'equal)

a) T
b) NIL
d) None of the mentioned

Explanation: Procedure object is build from the procedure by using #, So it is printing ((MAPLE SHADE) (APPLE FRUIT)).
Output: