1. Define a LISP function MIN-2 with the following properties. MIN-2 takes two arguments, A and B. If the arguments A and B are numbers such that ASB, then MIN-2 returns A. If A and B are numbers such that A > B, then MIN-2 returns B. If A or B is not a number, then MIN-2 returns the symbol ERROR. Examples: (MIN-2 21.5 7/2) =- 7/2 (MIN-2 17.5 29) =- 17.5 (MIN-2 5 'APPLE)= ERROR (MIN-2 '(31) '(54)) =► ERROR LISP Assignment 3: Page 1 of 3 2.[Exercise 4 on p. 72 of Wilensky] Write a LISP function SAFE-AVG that takes 2 arguments and returns the average of those arguments if they are numbers. If one or both of the arguments is not a number, the function should return NIL. Examples: (SAFE-AVG 23 47.4) = 35.2 (SAFE-AVG 3 8) 11/2 (SAFE-AVG 'ORANGE PLUM) NIL (SAFE-AVG '(23.1) 47.3) NIL
Types of Linked List
A sequence of data elements connected through links is called a linked list (LL). The elements of a linked list are nodes containing data and a reference to the next node in the list. In a linked list, the elements are stored in a non-contiguous manner and the linear order in maintained by means of a pointer associated with each node in the list which is used to point to the subsequent node in the list.
Linked List
When a set of items is organized sequentially, it is termed as list. Linked list is a list whose order is given by links from one item to the next. It contains a link to the structure containing the next item so we can say that it is a completely different way to represent a list. In linked list, each structure of the list is known as node and it consists of two fields (one for containing the item and other one is for containing the next item address).
![5. Questions about the problems that are e-mailed to me will not be answered before the submission deadline.
6. In this document the term list should be understood to mean proper list.
1. Define a LISP function MIN-2 with the following properties. MIN-2 takes two arguments,
A and B. If the arguments A and B are numbers such that A<B, then MIN-2 returns A. If A
and B are numbers such that A>B, then MIN-2 returns B. If A or B is not a number, then
MIN-2 returns the symbol ERROR
Examples: (MIN-2 21.3 7/2) => 7/2
(MIN-2 17.5 29) = 17.5
(MIN-2 (31) (54) => ERROR
(MIN-2 5 'APPLE) => ERROR
LISP Assignment 3: Page 1 of 3
2.[Exercise 4 on p. 72 of Wilensky] Write a LISP function SAFE-AVG that takes 2 arguments
and returns the average of those arguments if they are numbers. If one or both of the arguments
is not a number, the function should return NIL.
Examples: (SAFE-AVG 23 47.4) => 35.2
(SAFE-AVG 3 8) = 11/2
(SAFE-AVG 'ORÁNGE PLUM) => NIL
(SAFE-AVG (23.1) 47.3) => NIL
3.[Exercise 2 on p. 72 of Wilensky] Write a LISP predicate ODD-GT-MILLION that takes one
argument, and which returns T if its argument is an odd integer greater than a million, but returns
NIL otherwise. Hint: Make use of the predicate INTEGERP.
Examples:
(ODD-GT-MILLION 92010231) => T (ODD-GT-MILLION 17) => NIL (ODD-GT-MILLION 92010232) => NIL
(ODD-GT-MILLION 21/5) => NIL
(ODD-GT-MILLION (2010231)) = NIL
(ODD-GT-MILLION 1718671.24) = NIL
(ODD-GT-MILLION 'APPLE) = NIL
4.[Exercise 3 on p. 72 of Wilensky] Re-read the discussion of MEMBER in sec. 6.6 of Touretzky
or on p. 51 of Winston & Hom. Then write a LISP predicate MULTIPLE-MEMBER that takes
two arguments and behaves as follows: If the first argument is a symbol or number and the
second is a list, then MULTIPLE-MEMBER returns a true value if the first argument occurs at
least twice in the second argument, and returns NIL otherwise.](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fa31ef4af-b705-4152-8b2a-c5d698ea8ea2%2F7f0055e0-7666-4cf5-b698-078ddc378016%2F4rhydgg_processed.png&w=3840&q=75)
![4.[Exercise 3 on p. 72 of Wilensky] Re-read the discussion of MEMBER in sec. 6.6 of Touretzky
or on p. 51 of Winston & Horn. Then write a LISP predicate MULTIPLE-MEMBER that takes
two arguments and behaves as follows: If the first argument is a symbol or number and the
second is a list, then MULTIPLE-MEMBER returns a true value if the first argument occurs at
least twice in the second argument, and returns NIL otherwise.
Examples: (MULTIPLE-MEMBER 'A '(B A BBACA D)) => (A CA D)
(MULTIPLE-MEMBER 'A '(B ABBCCA D)) => (A D)
(MULTIPLE-MEMBER 'A '(B A BBC D)) =- NIL
Notice that the behavior of MULTIPLE-MEMBER is unspecified in cases where the first
argument is not a symbol or number, and in cases where the second argument is not a list. Your
definition may therefore return any value or produce an evaluation error in such cases.]
5. Define a LISP function MONTH->INTEGER which takes as argument a symbol that should be the
name of a month, and which returns the number of the month. For example:
(MONTH->INTEGER 'MARCH) => 3
If the argument is not a symbol that is the name of a month, the function should return the symbol
ERROR For example:
(MONTH-> INTEGER 'C) => ERROR
(MONTH->INTEGER 'QUOTE)=>ERROR (MONTH->INTEGER '(MAY))=>ERROR
(MONTH->INTEGER 'JUNE) => 6
(MONTH->INTEGER 7) => ERROR
6. Define a LISP function SCORE->GRADE which takes a single argument, s, and returns a symbol
according to the following scheme:
s2 90
87 ss< 90
83 <s< 87
80 <s< 83
77<s< 80
A
73 ss< 77
70 <s<73
60 <s< 70
C+
А-
C
B+
D
B
s< 60
F
B-
If the arguments is not a number then the function should return NIL.
Examples: (SCORE->GRADE 86.3) = B+ (SCORE->GRADE 106) => A (SCORE->GRADE -10.1) =F
(SCORE->GRADE 59.9) => F (SCORE->GRADE 83) => B+ (SCORE->GRADE 74) => C+
(SCORE->GRADE 67) = D
(SCORE->GRADE (86.3)) => NIL (SCORE->GRADE DOG) => NIL
(SCORE->GRADE 87.0) => A-](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fa31ef4af-b705-4152-8b2a-c5d698ea8ea2%2F7f0055e0-7666-4cf5-b698-078ddc378016%2Fojkvb9_processed.png&w=3840&q=75)

Trending now
This is a popular solution!
Step by step
Solved in 2 steps









