Haskell程序 从给定分数和指数计算数值
这个haskell教程将帮助我们从一个数字的给定分数和指数中计算出数值。为了找到这一点,我们将输入分数和指数,并计算出其相应的数值。
算法
- 第1步– 导入 “Data.Ratio “来处理分数的问题。
-
第2步– 定义calculateValue函数
-
第3步 – 程序的执行将从主函数开始。main()函数拥有程序的全部控制权。它被写成main = do。
-
第4步 – 变量 “fraction “和 “exponent “被初始化。它将保存要计算的分数和指数的值。
-
第5步 – 使用case下的’putStrLn’语句将结果打印到控制台。
例1
在这个例子中,我们将看到如何使用fromRational函数从给定的分数和指数中计算出数值。
import Data.Ratio
calculateValue :: Rational -> Integer -> Double
calculateValue fraction exponent = (fromRational fraction)^exponent
main :: IO ()
main = do
let fraction = 3 % 4
let exponent = 2
let value = calculateValue fraction exponent
putStrLn ("The value is: " ++ show value)
输出
The value is: 0.5625
例2
在这个例子中,我们将看到如何使用 Maybe monad 从给定的分数和指数中计算出数值。
import Data.Ratio
calculateValue :: Rational -> Integer -> Maybe Double
calculateValue fraction exponent = (^ exponent) <> (Just fromRational fraction)
main :: IO ()
main = do
let fraction = 3 % 4
let exponent = 2
let result = calculateValue fraction exponent
case result of
Just value -> putStrLn ("The value is: " ++ show value)
Nothing -> putStrLn "An error occured"
输出
The value is: 0.5625
例3
在这个例子中,我们将看到如何使用Either monad从给定的分数和指数中计算出数值。
import Data.Ratio
calculateValue :: Rational -> Integer -> Double
calculateValue fraction exponent = (fromRational fraction)^exponent
main :: IO ()
main = do
let fraction = 3 % 4
let exponent = 2
let result = Right (calculateValue fraction exponent)
case result of
Right value -> putStrLn ("The value is: " ++ show value)
Left error -> putStrLn error
输出
The value is: 0.5625
结论
在Haskell中,可以使用fromRational函数,通过使用Maybe或Either单体来计算给定分数和指数的值。