Difference between revisions of "Sum Distances To Origin With Functions Assignment"
Jump to navigation
Jump to search
(→Tuple) |
|||
Line 21: | Line 21: | ||
=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. |
Revision as of 16:14, 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)
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.