Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Programming Language Expert

Assignment: Programming Languages

The assignment must be submitted electronically. Your submission must include 2 files:

1.) The source code in R5RS

2.) 1 -2 page description of your algorithm and its complexity as an ACII text document, MS Word document, or a PDF file. Since the program you must write is short, the description of the algorithm and complexity analysis carry significant weight on your grade.

Pack all your files in a zip file. Use the following naming conventions. If your name is John Smith, then your file name must be jsmith.zip. Zip files which are not properly named or packed will receive 0 points.

Write a function min-split in Scheme 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. (Auxiliary parameters are parameters used to help find the solution. The list parameter is mandatory and thus not an auxiliary parameter.) 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.

- 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 find the absolute value of the difference of the sums.

-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.

‘(8 6 10 7) returns 1. The minimum split is {6, 10} and {7, 8}. Its size is 16 - 15 = 1.

‘(12 10 11 8 9) returns 4. The minimum split is {11, 12} and {8, 9, 10}. Its size is 27 - 23 = 4.

‘(1 2 1 3 4 7) returns 0. The minimum split is {1, 1, 7} and {2, 3, 4}. Its size is 9 - 9 = 0.

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

(define min-split (lambda ()

(cond
...
)))

In other words, you must choose your auxiliary parameters and define ONE COND statement.

Inside COND, you can only use ONLY the following constructs:
- abs
- null?
- car
- cdr
- else
- +
- -
- <
- min-split
- if
- user defined names (for the names of your parameters)
- integer literals
- parentheses

You cannot use a construct if it is not listed above. The use of user-defined functions, except for min-split, is not allowed. You cannot define or call any other function except formin-splitand what is listed above. In other words, your code 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. Yes, greater than can be used to solve the problem, however, it is not as natural for the problem being given. So, try to restrict yourself to this set of constructs.

Your report MUST include a brief explanation of the function parameters and a brief example of how the function is called.

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M92784122

Have any Question?


Related Questions in Programming Language

Extend the adworks applicationi add dialogs to allow the

Extend the AdWorks application I. Add Dialogs to allow the user to Add, Edit, Read and Delete a Customer and refresh the view accordingly. 1. The user should be able to select a specific customer from the DataGrid and cl ...

Task silly name testeroverviewcontrol flow allows us to

Task: Silly Name Tester Overview Control flow allows us to alter the order in which our programs execute. Building on our knowledge of variables, we can now use control flow to create programs that perform more than just ...

Assignment - horse race meetingthe assignment will assess

Assignment - Horse Race Meeting The Assignment will assess competencies for ICTPRG524 Develop high level object-oriented class specifications. Summary The assignment is to design the classes that are necessary for the ad ...

Structs and enumsoverviewin this task you will create a

Structs and Enums Overview In this task you will create a knight database to help Camelot keep track of all of their knights. Instructions Lets get started. 1. What the topic 5 videos, these will guide you through buildi ...

Question - create a microsoft word macro using vba visual

Question - Create a Microsoft Word macro using VBA (Visual Basic for Applications). Name the macro "highlight." The macro should highlight every third line of text in a document. (Imagine creating highlighting that will ...

Task working with arraysoverviewin this task you will

Task: Working with Arrays Overview In this task you will create a simple program which will create and work with an array of strings. This array will then be populated with values, printed out to the console, and then, w ...

Question 1 what is a computer program what is structured

Question: 1. What is a Computer program? What is structured programming? 2. What is modular programming? Why we use it? 3. Please evaluate Sin (x) by infinite series. Then write an algorithm to implement it with up to th ...

Assignment - horse race meetingthe assignment will assess

Assignment - Horse Race Meeting The Assignment will assess competencies for ICTPRG524 Develop high level object-oriented class specifications. Summary The assignment is to design the classes that are necessary for the ad ...

1 write a function named check that has three parameters

1. Write a function named check () that has three parameters. The first parameter should accept an integer number, andthe second and third parameters should accept a double-precision number. The function body should just ...

Task arrays and structsoverviewin this task you will

Task: Arrays and Structs Overview In this task you will continue to work on the knight database to help Camelot keep track of all of their knights. We can now add a kingdom struct to help work with and manage all of the ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As