Write solutions for below questions in scheme programming (.functional programming )
Write solutions for below questions in scheme programming (.functional programming )
1. Implement a function that returns the third element of a list.
2. Write a simple function that adds the first n integers. (e.g. (sum 5) returns 15).
3. Write a simple function that calculates the sum of a list of integers. e.g. (sum ‘(5 4 6)) returns 15. Implement a non-tail-recursive solution and a tail-recursive solution.
4. Write a Scheme max function that finds the largest number. The input should be a list of integers. The logic is discussed as follows.
boolean max(lst){
if (lst has only one element){
return the one element in lst
}
else if (car(lst) > max(cdr(lst))) {
return car(lst)
}
else {
return max(cdr(lst))
}
}
5. Arithmetic of Functions
We can define a higher-order function, i.e. functional form that accepts two functions as parameters and returns their sum,
As a running example, we consider two functions:
f(x) = x + 2
g(x) = 3x + 4
These are modeled, respectively, by the following Scheme functions:
(define (f x) (+ x 2))
(define (g x) (+ (* 3 x ) 4))
The higher-order function:
(define (plus func1 func2)
(lambda (x) (+ (func1 x) (func2 x))))
Note the use of lambda in order to return a nameless function. In essence, we are accepting two functions, func1 and func2, and returning a function that takes one parameter x and represents their sum. We can apply this functional form as follows:
((plus f g) 10) ; returns 46.
Or
(define (plus func1 func2 x)
(+ (func1 x) (func2 x))
)
(plus f g 10) ; returns 46.
Define a function (form) that computes the difference between two functions.
6. Imagine an accounting routine used in a bookshop. It works on a list with sublists, which look like this:
Order Number Book Title and Author Quantity Price per Item
34587 Learning Python, Mark Lutz 4 40.95
98762 Programming Python, Mark Lutz 5 56.80
77226 Head First Python, Paul Barry 3 32.95
Write a PURE Python function, which returns the grand sale total in dollar amount. The only parameter to the function is the list, and i/o should be in the main method. PLEASE DO NOT USE For loop except if list comprehension is used.
Collepals.com Plagiarism Free Papers
Are you looking for custom essay writing service or even dissertation writing services? Just request for our write my paper service, and we'll match you with the best essay writer in your subject! With an exceptional team of professional academic experts in a wide range of subjects, we can guarantee you an unrivaled quality of custom-written papers.
Get ZERO PLAGIARISM, HUMAN WRITTEN ESSAYS
Why Hire Collepals.com writers to do your paper?
Quality- We are experienced and have access to ample research materials.
We write plagiarism Free Content
Confidential- We never share or sell your personal information to third parties.
Support-Chat with us today! We are always waiting to answer all your questions.