Write a function min-split in Scheme (R5RS) that takes a list of two or more positive integers (duplicates are possible) and other auxiliary parameters of your choice. The list L is flat, i.e., it does not contain sublists. The function min-split returns the size of the minimum split of a list L.

It is up to you to choose the auxiliary parameters that min-split takes. All auxiliary parameters must be numeric (not lists) and should have initial values set to zero. For example, if L is ‘(1 2 3) and you decide to use two additional auxiliary parameters, min-split should be called as follows:

(min-split ‘(1 2 3) 0 0)

If there are three auxiliary parameters, then it must be called:

(min-split ‘(1 2 3) 0 0 0)

Terminology:

- A split is a division of L into two subsets: every element of L must belong to exactly one of the subsets and no elements can be left out of the split. Same as a partition from the last assignment.

- The size of a split is defined as |S1 – S2|, where S1is the sum of all integers in one of the subsets of the split and S2 is the sum of all integers in the other subset. In other words, to calculate the size of the split one needs to subtract the smaller sum from the larger sum.

-The minimum split is the one with the smallest size among all possible splits. The program min-split needs to print the size of the minimum split. It is possible that there are several minimum splits. In this case, all of them must have the same size.

Examples:

‘(1 1) returns 0. The minimum split is {1} and {1}. The size of the split is 1 -1 = 0.

‘(1 2 3) returns 0. The minimum split is {1, 2} and {3}. The size of the split is 3 – 3 = 0. There are other splits such as {1, 3} and {2}; {1} and {2, 3}; and {1, 2, 3} and the empty set. There split sizes are greater than 0, however, so are not minimum splits.

‘(86107)returns1. Theminimumsplitis{6,10}and{7,8}. Itssizeis16–15=1. ‘(12101189)returns4. Theminimumsplitis{11,12}and{8,9,10}. Itssizeis27–23=4.

The whole solution must be packed in one recursive function min-split which must look as follows

(define min-split (lambda (<list L followed by your auxiliary parameters of your choice initially set to zero>)

(cond ...

)))

In otherwords, you have to choose your auxiliary parameters and define ONE COND statement. Inside COND, you can only use ONLY the following constructs:

- null?

- car

- cdr - else -+ -- ->

- min-split

- if

- user defined names (for the names of your paramters)

- integer literals

- parentheses

You cannot use a construct if it is not listed above. The use of built-in functions is not allowed. You cannot define or call any other function with the exception of min-split. In other words, your code must use only one function, min-split which must be defined using the constructs from the list above.

If your program uses a construct not on the list, then it is not a solution to this homework.

DescriptionIn this final assignment, the students will demonstrate their ability to apply two majorconstructs of the C programming language – Functions and Arrays – to solve computationalproblems.Arrays provide a convenient way to store &

The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is anPath finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going through certain obstacles. As the main aim is to thinkabout path finding, we focus on the common task

Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individualDevelop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. TheLineItem class will represent an individual line item of merchandise that acustomer is purchasing.

SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define: SeaPortProgram e

Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define: SeaPortProgram e

The first programming project involves writing a program that parses, using recursive descent, a GUI definition language defined in an input file and generates the GUI that it defines. The grammar for this language is defined below:1Project 1The first programming project involves writing a program that parses, using recursive descent, a GUIdefinition language defined in an input file and generates the GUI that it defines. The grammar for thislanguage is defined below:gui ::= Wi

CMSC 335 Project SeaPort Solved Project 3 Introduction the SeaPort Project series For this set of projects for the course we wish to simulate some of the aspects of a number of Sea PortsCMSC 335 Project SolvedProject 3 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

CMSC 335 Project 4 Solved SeaPort Introduction the SeaPort Project series For this set of projects for the course we wish to simulate some of the aspects of a number of Sea Ports Here are the classes and their instance variables we wish to defineProject 4 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define: SeaPortProgram ext

CMSC 451 Project 2 Solved The second project involves completing and extending the C++ program that evaluates statements of an expression language contained in the module 3 case studyProject 2 The second project involves completing and extending the C++ program that evaluates statements of an expression language contained in the module 3 case study. The statements of that expression language consist of an arithmetic expression f

CMSC 451 Project 1 Solved The first project involves benchmarking the behavior of Java implementations of one of the following sorting algorithms bubble sort selection sort insertion sort Shell sort, merge sort quick sort or heap sortCMSC 451 Project 1The first project involves benchmarking the behavior of Java implementations of one of thefollowing sorting algorithms, bubble sort, selection sort, insertion sort, Shell sort, merge sort,quick sort or heap sort. You must post your

The ready solutions purchased from Library are already used solutions. Please do not submit them directly as it may lead to plagiarism. Once paid, the solution file download link will be sent to your provided email. Please either use them for learning purpose or re-write them in your own language. In case if you haven't get the email, do let us know via chat support.

Get Free Quote!

253 Experts Online