Difference between revisions of "Sum Distances To Origin With Functions Assignment"
Jump to navigation
Jump to search
Line 7: | Line 7: | ||
<math>distance = \sqrt {x^2 + y^2}</math> | <math>distance = \sqrt {x^2 + y^2}</math> | ||
− | ==Basis | + | =Code to Use= |
− | [https://smlfamily.github.io/Basis/math.html#SIG:MATH.sqrt:VAL Math.sqrt(x)] | + | =={{ListStructure}}== |
+ | {{ListNilConstructor}} | ||
+ | {{ListConsConstructor}} | ||
+ | {{ListNull}} | ||
+ | {{ListHd}} | ||
+ | {{ListTl}} | ||
+ | |||
+ | ==[https://smlfamily.github.io/Basis/math.html Math]== | ||
+ | * [https://smlfamily.github.io/Basis/math.html#SIG:MATH.sqrt:VAL Math.sqrt(x)] | ||
=Code To Implement= | =Code To Implement= |
Revision as of 16:05, 30 August 2024
Contents
Background
The distance of a point (x,y) from the origin:
Code to Use
List
- [] construct an empty list
- :: construct a list out of a head element and a tail 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
Code To Implement
sum_distances_to_origin
file: | src/main/sml/sum_distances_to_origin_fun/sum_distances_to_origin.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)
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.