Objective: To program using the functional programming paradigm. Assignment: Write the following functions using Scheme: A function (binomial N k) that returns the binomial coefficients C(N, k),...

1 answer below »

Objective: To program using the functional programming paradigm.





Assignment: Write the following functions using Scheme:







  1. A function (binomial N k) that returns the binomial coefficients C(N, k), defined recursively as:


    C(N,0) = 1, C(N, N) = 1, and, for 0









  1. A function (mod N M) that returns the modulus remainder when dividing N by M.









  1. A function (binaryToDecimal b) that takes a binary number and returns its decimal value.

    (binaryToDecimal 1101) returns 13.









  1. A function (addBinary binaryList) that takes a list of binary numbers and returns their decimal sum. (addBinary '(1101 111 10 101)) returns 27.









  1. A function (min list) that returns the smallest value in a simple list of integers.









  1. A function (myRemove num list) that removes all occurrences of the integer num from a simple list of integers, returning list with num removed. myRemove should return the original list if atm is not found.









  1. A function (selectionSort list) that returns a simple list of integers in ascending order using a recursive selection sort algorithm. Hint: use your min function.






All the functions must be written in a functional style and must use only the basic Scheme functions car, cdr, cons, null, atom, the equality functions, the arithmetic functions, append, and the conditional functions if and cond.




Be sure to write some code to demonstrate your functions on various inputs. You can place your entire solution into a single Scheme (.scm) source file.





Some possible interpreters: repl.it (recommended for simplicity), guile (for linux environment), Dr. Scheme/Racket, mit/gnu scheme, etc.

Answered Same DayDec 01, 2021CS311

Answer To: Objective: To program using the functional programming paradigm. Assignment: Write the following...

Sudipta answered on Dec 02 2021
147 Votes
#question 1 : Binomial co-efficient using recursion
(define (Binomial N K)
    (if(= K 0)
        1)
    (if
(=K N)
        1)
    (+ (Binomial (- N 1) (- K 1)) (Binomial (- N 1) (K))))
    
#question 2: Remainder or modulus when N divided by M
(define (Mod N M)
    (modulo N M))
#question 3: Binary to decimal that return a decimal value
(define (binaryToDecimal b)
    (if (zero? b)
        b
        (+ (modulo b 10)(* 2 (binaryToDecimal(quotient n 10))))))
#question 4: Take binary list and return sum of their decimal value
(define...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here