Difference between revisions of "Sum Distances To Origin With Functions Assignment"
Jump to navigation
Jump to search
(3 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
=Code to Use= | =Code to Use= | ||
=={{ListStructure}}== | =={{ListStructure}}== | ||
− | |||
− | |||
{{ListNull}} | {{ListNull}} | ||
{{ListHd}} | {{ListHd}} | ||
Line 17: | Line 15: | ||
==[https://smlfamily.github.io/Basis/math.html Math]== | ==[https://smlfamily.github.io/Basis/math.html Math]== | ||
* [https://smlfamily.github.io/Basis/math.html#SIG:MATH.sqrt:VAL Math.sqrt(x)] | * [https://smlfamily.github.io/Basis/math.html#SIG:MATH.sqrt:VAL Math.sqrt(x)] | ||
+ | |||
+ | ==Tuple== | ||
+ | * [https://courses.cs.washington.edu/courses/cse341/19sp/unit1notes.pdf#section*.6 Grossman Notes] | ||
=Code To Implement= | =Code To Implement= | ||
==sum_distances_to_origin== | ==sum_distances_to_origin== | ||
− | {{SMLToImplement| | + | {{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
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.