Question

Program has to be written in ML language. Write functions in ML to do the following: 1. Given a list, return that list with its first and third elements deleted. Assume the length of the list is at least 3. 2. Given a list of real pairs, return the list containing the larger element in each pair. Examples: larger_in_pair([]) = [] larger_in_pair([(1.0,2.5),(4.7,3.6),(5.5,8.8)] = [2.5,4.7,8.8] 3. Given two lists of integers, return the list of the sums of the elements in corresponding position in the input lists. The shorter list has to be seen as extended with 0's. Examples: add2lists([1,3],[2,4]) = [3,7] add2lists([2,4],[3]) = [5,4] add2lists([1,4],[5,3,1,8,9]) = [6,7,1,8,9] add2lists([],[]) = [] 4. Use the function Map and an anonymous function to turn a list of integer pairs into a list of integer, each of which is the product of the two elements in a pair. 5. Use the function Reduce and an anonymous function to find the minimum of a list of reals. 6. Use the function Filter and an anonymous function to find those elements of a list of reals that are between 3.0 and 4.0 (inclusive).

Answer #1

1//length of list

fun length(list)=3;

if(list=nil) then 0

else 1+length(tl(list))

// returning first element of list

fun first_elem []=[]

| first_elem((list)::1)=list::first_elem 1;

// returning last element of
list

fun rem_elem nil = nil

| rem_elem (a::nil) = nil

| rem_elem(a::b::l) = a::rem_elem(b::l) ;

2//return largest element

fun larger_in_pair(list) = if list=[] then 0 else max(hd(list),
larger_in_pair(tl(list)));

3//return sum

fun sumoflist (List []) =[]

| sumoflist (List(n,t1,t2)) = n + sumoflist(t1) +
sumoflist(t2);

5//return min

fun list[] = []

min_no = reduce(lambda x,y: x if x < y else y, list)

print(min_no)

ADVERTISEMENT

Get Answers For Free

Most questions answered within 1 hours.

ADVERTISEMENT

asked 4 minutes ago

asked 8 minutes ago

asked 12 minutes ago

asked 19 minutes ago

asked 29 minutes ago

asked 40 minutes ago

asked 49 minutes ago

asked 1 hour ago

asked 1 hour ago

asked 1 hour ago

asked 1 hour ago

asked 1 hour ago