Please answer in F#, thank you
Please answer in F#, thank you.
For each of the exercises, you are only required to write the provided functions. There is no additional global functionality. Your functions should produce no output. To test your functions, either:
- Test the functions using the interactive simulator
- Add your own tests to the script (but be sure to remove them or comment them out before submission)
Implementation Rules
- You may define and use additional functions if your feel it is appropriate.
- Without prior approval from me, you may only use the subset of F# described in class.
- In particular, you may NOT use F# system functions (such as min) or methods
- Even though they were mentioned in class, you are NOT allowed to use the methods in the List module such as List.map.
First Exercise, maxCylinderVolume
Write a function maxCylinderVolume that takes a list of floating-point tuples that represent dimensions of a cylinder and returns the volume of the cylinder that has the largest volume. Each tuple has two floating point values that are both greater than zero. The first value is the radius r and the second value is the height h. The volume of the cylinder is computed using ??2h. The value π is represented in F# with System.Math.PI. If the list is empty, return 0.0.
Examples:
> maxCylinderVolume [(2.1, 3.4); (4.7, 2.8); (0.9, 6.1); (3.2, 5.4)];;
val it : float = 194.3137888
> maxCylinderVolume [(0.33, 0.66)];;
val it : float = 0.2257988304
Step by step
Solved in 2 steps