Question
-- Part 2: Function implementations -- 1. Transposes a 2-row x 2-column tuple. -- -- e.g., transposeTup ((1,2),(3,4)) = ((1,3),(2,4)) transposeTup :: ((a,b),(c,d)) -- input
-- Part 2: Function implementations -- 1. Transposes a 2-row x 2-column tuple. -- -- e.g., transposeTup ((1,2),(3,4)) = ((1,3),(2,4)) transposeTup :: ((a,b),(c,d)) -- input matrix -> ((a,c),(b,d)) -- transposed matrix transposeTup = undefined -- 2. Sorts the elements of a 3-tuple. -- -- e.g., sort3Tup (2,1,3) = (1,2,3) -- sort3Tup (3,2,1) = (1,2,3) sort3Tup :: Ord a => (a,a,a) -- input 3-tuple -> (a,a,a) -- sorted 3-tuple sort3Tup = undefined -- 3. Computes the compound interest earned. -- e.g., compoundInterest 100 0.2 1 = 20 -- compoundInterest 100 0.2 2 = 44 compoundInterest :: Floating a => a -- principal -> a -- rate -> Int -- num of compounding periods -> a -- amount of compound interest earned compoundInterest = undefined -- 4. Computes the length of the Collatz sequence starting at the input. -- -- e.g., collatzLen 1 = 0 -- collatzLen 6 = 8 -- collatzLen 27 = 111 collatzLen :: Integer -- start value of the sequence -> Integer -- length of sequence collatzLen = undefined -- 5. Computes the square root of the input using Newton's method. -- -- e.g., newtonsSqrt 2 ~= 1.4142... -- newtonsSqrt 1000 ~= 31.6227... newtonsSqrt :: (Floating a, Ord a) => a -- x -> a -- square root of x newtonsSqrt = undefined -- 6. Draws a planet in a circular orbit given an orbital radius and period. drawOrbit :: Float -- radius -> Float -- period -> Float -- time -> Picture drawOrbit _ _ _ = blank -- 7. Draws a planet in an elliptical orbit based on Kepler's equation. drawOrbit' :: Float -- semi-major axis -> Float -- eccentricity -> Float -- period -> Float -- time -> Picture drawOrbit' _ _ _ _ = blank meanMotion :: Floating a => a -- period -> a -- mean motion meanMotion p = undefined meanAnomaly :: Floating a => a -- mean motion -> a -- time -> a -- mean anomaly meanAnomaly n t = undefined eccentricAnomaly :: (Floating a, Ord a) => a -- eccentricity -> a -- mean anomaly -> a -- eccentric anomaly eccentricAnomaly ecc ma = undefined trueAnomaly :: (Floating a, Ord a) => a -- eccentricity -> a -- eccentric anomaly -> a -- true anomaly trueAnomaly ecc ea = undefined heliocentricDist :: Floating a => a -- semi-major axis -> a -- eccentricity -> a -- eccentric anomaly -> a -- heliocentric distance heliocentricDist a ecc ea = undefined
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started