Difference between revisions of "Sum Distances To Origin With Functions Assignment"

From CSE425S Wiki
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 21: Line 21:
 
=Code To Implement=
 
=Code To Implement=
 
==sum_distances_to_origin==
 
==sum_distances_to_origin==
{{SMLToImplement|sum_distances_to_origin|sum_distances_to_origin|sum_distances_to_origin_fun}}
+
{{SMLToImplement|sum_distances_to_origin_fun|sum_distances_to_origin|sum_distances_to_origin_fun}}
  
 
A list of tuples <code>xys</code> is passed to <code>sum_distances_to_origin</code>.  Evaluate to the sum of the distances from each point (x,y) in the list to the origin.
 
A list of tuples <code>xys</code> is passed to <code>sum_distances_to_origin</code>.  Evaluate to the sum of the distances from each point (x,y) in the list to the origin.
  
 
<syntaxhighlight lang="sml">
 
<syntaxhighlight lang="sml">
fun sum_distances_to_origin(xys : (real * real) list)
+
fun sum_distances_to_origin(xys : (real * real) list) : real =
 +
raise Fail "NotYetImplemented"
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Latest revision as of 19:42, 30 August 2024

Pythagorean.svg

Background

Pythagorean theorem

The distance of a point (x,y) from the origin:

Code to Use

List

  • null is the passed in list empty?
  • hd head element of the passed in list
  • tl tail list of the passed in list

Math

Tuple

Code To Implement

sum_distances_to_origin

file: src/main/sml/sum_distances_to_origin_fun/sum_distances_to_origin_fun.sml Smlnj-logo.png
functions: sum_distances_to_origin

A list of tuples xys is passed to sum_distances_to_origin. Evaluate to the sum of the distances from each point (x,y) in the list to the origin.

fun sum_distances_to_origin(xys : (real * real) list) : real =
	raise Fail "NotYetImplemented"

For example, if the list is [(3,4), (5,12)] then calling sum_distances_to_origin with that list would evaluate to 18 (since 5 + 13 is 18).

Test

source folder: src/test/sml/sum_distances_to_origin_fun
how to run with CM.make verbosity off: sml -Ccm.verbose=false run_sum_distances_to_origin_fun_testing.sml
how to run with CM.make verbosity on: sml run_sum_distances_to_origin_fun_testing.sml

note: ensure that you have removed all printing to receive credit for any assignment.

SML Error Messages