Professional Documents
Culture Documents
World Problems
World Problems
1. Write a program in Lisp to print hello world using different output functions.
Print function: Break 1[1] > ( print hello ) hello hello Princ function: Break 1[1]> ( princ hello) hello hello Prinl function: Break 1[1]> ( prinl hello) hello hello
2. Write a program in Lisp to use all arithmetic operations. Addition function: To add the numbers Break 3[4]> ( + 3 4 ) 7 Break 4[5]> ( + 3 5 10 ) 18 Break 4[5]> ( + (+ (3 5) (10) ) 18 Subtraction function: To subtract the numbers Break 4[5]> ( - 5 8 ) -3 Multiplication function: To multiply the numbers Break 4[5]> ( * 4 5 ) 20 Division function: To divide the numbers Break 4[5]> ( / 4 2 ) 2 Maximum function: Finds the largest number Break 4[5]> ( max 3 6 4 8 7 ) 8 Minimum function: Finds the smallest number Break 4[5]> ( min 3 4 2 8 ) 2
3. Write a program in Lisp to use predicate functions. Atom function: Break 4[5]> ( atom 3 ) T Break 4[5]> ( atom 9 ) T Break 4[5]>( atom ( p ) ) NIL Number function: Break 4[5]> ( numberp 2 ) T Break 4[5]> ( numberp h ) NIL List function: Break 4[5]>( list ( p ) ) T Break 4[5]>( list p ) NIL Symbol function: Break 4[5]>( symbol @ ) T Break 4[5]>( symbol a ) NIL
Zero function: Break 4[5]>( zerop 0 ) T Break 4[5]>( zerop 1 ) NIL Plus function: Break 4[5]>( plusp 2 ) T Break 4[5]>( plusp -2 ) NIL Minus function: Break 4[5]>( minusp -2 ) T Break 4[5]>( minusp 2 ) NIL Even function: Break 4[5]>( evenp 2 ) T Break 4[5]>( evenp 3 ) NIL Odd function: Break 4[5]>( oddp 8 ) NIL
Break 4[5]>( oddp 3 ) T Greater & Lesser function: Break 4[5]> ( > 4 3 2 ) T Break 4[5]> ( > 4 5 2 ) NIL Break 4[5]> ( < 5 6 9 ) T Break 4[5]> ( < 2 3 4 1 ) NIL Length function: To find out the length of given list Break 4[5]> ( length '( a b c d ) ) 4 Float function: Break 4[5]> ( float ( / 22 4)) 5.5 Round function: Break 4[5]> ( round ( / 22 4)) 6 Exponent Function: Break 4[5]> ( expt 2 3)) 5
Square root function: Break 4[5]> (sqrt 9) 3 Equal Function: Returns the given set is equal or not Break 4[5]> (equal '(a b) '( a b) ) T Break 4[5]> (equal '(a b) 1) NIL Break 4[5]> ( eq 1 1 ) T Break 4[5]> ( eq 1 'a ) NIL Break 4[5]> ( eq 'a 'a ) T
4. Write a program in Lisp to manipulate list. CAR: Print the first element of the list. Break 4[5]> ( car ( a b c d ) ) A CDR: Leave the first element and print the remaining elements of the list. Break 4[5]> ( cdr ( a b c d ) ) BCD CONS: Concatenates an atom and a list. Break 4[5]> ( cons a ( a b c d ) ) (AABCD) LIST: Prints the list itself. Break 4[5]> (list ( a b ) ( c d ) ) ((AB)(CD)) APPEND: Concatenates two lists. Break 4[5]> (append ( a b ) ( c d ) ) (A B C D ) FIRST: Print the first element of the list. Break 4[5]> (first ( a b c d ) ) A LAST: Print the last element of the list. Break 4[5]> ( last (a b c d ) ) D
REVERSE: Reverse the order of the elements in the list. Break 4[5]> (reverse ( a f t h ) ) (HTFA) MEMBER: Break 4[5]>( member b ( a s b u k ) ) (BUK) REST: Break 4[5]>( rest ( a b c d ) ) (BCD) SET: Break 4[5]>( setq a 21 ) 21
( defun area ( ) ( print " Enter the radius " ) ( setf rad ( read ) ) ( print " Area of circle " ) ( * 3.14 rad rad ) )
Output: Break 4[5]> AREA Break 4[5]> ( area ) " Enter the radius " 5 " Area of circle " 78.5
( defun F-C () ( print "Enter the temp in Fahrenheit" ) ( setq fahre ( read ) ) ( princ "converted temp is :" ) ( * ( - fahre 32 )( float ( / 5 9 ) ) ) )
Output: F-C Break 4[5]> (f-c) "Enter the temp in Fahrenheit" 100 converted temp is : 37.777778
( defun large() ( print enter three numbers ) ( setf a ( read ) b ( read ) c ( read ) ) ( cond ( ( > a b ) ( cond ( ( > a c ) a ) ( t c )) ) ( ( > b c ) b ) (tc)) )
( defun fact ( n ) ( cond (( zerop n ) 1 ) ( + ( * n ( factorial ( - n 1 ) ) ) ) ) ) Output:FACT Break 1 [3]> ( fact 5 ) 120
10.Function for table of any given numbers. ( defun table( ) ( princ enter any number ) ( setq a ( read ) ) ( princ table of given number is ) ( loop for i from 1 to 10 do ( print ( * i a ) ) ) )
Output:TABLE Break 1[8]>( Table ) Enter any number 6 Table of given number is 6 12 18 24 30 36 42 48 54 60 NIL
11. Write a program in Lisp to find out user input is a character or numeric value using if function. ( defun num() ( print " enter any value ") ( setf a ( read ) ) ( if ( numberp a ) ( print " number " ) ( print "character" ) ) )
Output:Break 2[1]> NUM Break 2[2]> ( num ) " enter any value " 7 " number " " number "
12. Create a list of items using make array and assign value to each. ( setf af ( make-array '( 5 ) ) ) #(NIL NIL NIL NIL NIL) Break 4 [5]> ( setf ( aref af 0 ) 10 ) 10 Break 4 [5]> ( aref af 0 ) 10 Break 4 [5]> ( setf ( aref af 1 ) 25 ) 25 Break 4 [5]> ( aref af 1 ) 25 Break 4 [5]> ( setf ( aref af 2 ) 50 ) 50 Break 4 [5]> ( aref af 2 ) 50 Break 4 [5]> ( setf ( aref af 3 ) 60 ) 60 Break 4 [5]> ( aref af 3 ) 60 Break 4 [5]> ( setf ( aref af 4 ) 70 ) 70 Break 4 [5]> ( aref af 4 ) 70