##### Reference no: EM131296983

**Question#1:**

a) Using built in predict function NUMBERP, develop a new predict function so-called "elemnts_are_numbers" that checks all the elements of a list are numbers.

See these examples:

> (elemnts_are_numbers '( 1 8 9 6) )

T

> (elemnts_are_numbers ‘( a 8 9 b ) )

NIL

b) Test your function on your computer by some (at least 3 examples) of different** **values for its input list and show results of your examples for this function.

**Question#2:**

In this exercise assume: "first= car" and "rest = cdr" and L is a given list containing only numbers

a) Analyze this code and explain what myfunction5 is doing? (defun myfunction4 (n L)

(cond

((null L) nil)

((zerop n) (first L))

(t (myfunction4 (- n 1) (rest L)))))

b) Test this function on your computer by some (at least 3 examples) examples of different values for its parameters (n L) and show your results of your examples for this function.

**Question#3:**

a) Assume L is list of only integer numbers (Including zeros, or positive, or negative numbers, or could be an empty list), write a function that finds and returns the leftmost even number from this (if any, otherwise return NIL).

Example: for L= (-7, 17, 8, 9, -16, 19, 0, 27, 28, 13) , you should return: 28

b) Test your function on your computer by some (at least 3) examples of different values for its input parameter (L) and show your code and results of your examples for this function.

**Question#4:**

a) Compare these two functions (sum-list 1 and sum-list2), what these function do?

b) which one is more efficient or more readable? and why?

(defun sum-listl (L)

(if (null L) 0

(+ (first L)

(sum-list (rest L)))))

(defun sum-list2 (L)

(apply #'+ L))