Difference between revisions of "Sum Distances To Origin With Functions Assignment"
Jump to navigation
Jump to search
Line 26: | Line 26: | ||
<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
Contents
Background
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 | ![]() |
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.