Question: Using Lispworks personal edition 6. Write a function DOT-PRODUCT that takes two lists, each list has three numbers (elements), and produces the dot product of

Using Lispworks personal edition

6. Write a function DOT-PRODUCT that takes two lists, each list has three numbers (elements), and produces the dot product of the vectors that they represent. For example,

-> (DOT-PRODUCT '(1.2 2.0 -0.2) '(0.0 2.3 5.0))

-> 3.6

The answer for this question can be found in file DOT-PRODUCT.LSP in the same directory. The key for designing a lisp function is using recursion.

7. Write a function COUNT-NUMBER that counts the number of numbers that occur in a list. It should work like this:

-> (COUNT-NUMBER '(A 2.3 B 5 4.53 C F))

-> 3

Hint: To determine whether s-expression is a number or not, use numberp function. The following examples show how numberp works:

-> (numberp 5)

-> T

-> (numberp 5.5)

-> T

-> (numberp T)

-> nil

-> (numberp (A B))

-> nil

8. Write a function NEW-LIST that takes a number as its argument and constructs a list of that length containing all Ts. For example,

-> (new-lit 5)

-> (T T T T T)

9. The Lisp function LENGTH counts the number of elements in the top level of a list. Write a function ALL-LENGTH of one argument that counts the number of atoms that occur in a list at all levels. Thus, the following lists will have the following ALL-LENGTHs.

(A B C) => 3

((A (B C) D (E F)) => 6

(NIL NIL (NIL NIL) NIL ) => 5

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!