Haskell程式:計算圓錐的體積和表面積
本教程將幫助我們計算圓錐的體積和表面積。圓錐的體積是圓錐內部空間大小的度量。表面積是指圓錐的側面積。圓錐體積的公式為 V = (1/3) * π * r^2 * h,其中 r 為圓錐底部的半徑,h 為圓錐的高度,π 近似等於 3.14。
圓錐表面積的公式為 A = π * r * s,其中 r 為圓錐底部的半徑,s 為圓錐的斜高。
演算法
步驟 1 - 初始化名為“radius”(半徑)和“height”(高度)的變數。它們將分別包含需要計算表面積和體積的圓錐的半徑和高度。
步驟 2 - 根據簡單的數學公式定義體積和表面積函式:體積 = (pi * radius^2 * height) / 3;側面積 = pi * radius * sqrt(radius^2 + height^2);表面積 = 側面積 + pi * radius^2。
步驟 3 - 程式執行將從主函式開始。main() 函式控制整個程式。它寫成 main = do。主函式從使用者那裡獲取圓錐的半徑和高度輸入,然後使用上述函式計算體積和表面積。
步驟 4 - 一旦呼叫體積和表面積函式,則使用 'putStrLn' 語句和 show 函式顯示最終的體積和表面積值。
使用使用者自定義函式
在這個例子中,我們使用 pi 值和平方根函式。圓錐的半徑和高度在程式開始時定義為變數。然後,我們使用這些變數,根據適當的公式計算圓錐的體積、側面積和總表面積。最後,我們使用 putStrLn 函式將結果列印到控制檯。
示例
radius = 5 height = 10 volume = (pi * radius^2 * height) / 3 lateralArea = pi * radius * sqrt(radius^2 + height^2) surfaceArea = lateralArea + pi * radius^2 main = do putStrLn ("Volume: " ++ show volume) putStrLn ("Surface Area: " ++ show surfaceArea)
輸出
Volume: 261.79938779914943 Surface Area: 254.160184615763
使用圓錐資料型別
這種方法定義了一個圓錐資料型別,它是一個包含兩個欄位的記錄:半徑和高度。然後,我們定義三個函式 coneVolume、coneLateralArea 和 coneSurfaceArea,它們以 Cone 為引數並返回相應的體積和麵積。在主函式中,我們建立一個具有半徑和高度值的 Cone,然後使用定義的函式計算體積和表面積並將其列印到控制檯。
示例
data Cone = Cone { radius :: Double, height :: Double } coneVolume :: Cone -> Double coneVolume (Cone r h) = (pi * r^2 * h) / 3 coneLateralArea :: Cone -> Double coneLateralArea (Cone r h) = pi * r * sqrt (r^2 + h^2) coneSurfaceArea :: Cone -> Double coneSurfaceArea c = coneLateralArea c + pi * (radius c)^2 cone = Cone 5 10 main = do putStrLn ("Volume: " ++ show (coneVolume cone)) putStrLn ("Surface Area: " ++ show (coneSurfaceArea cone))
輸出
Volume: 261.79938779914943 Surface Area: 254.160184615763
結論
計算圓錐的體積、側面積和表面積有多種方法,但計算圓錐體積和麵積的數學公式始終保持不變。在 Haskell 中,可以使用使用者自定義函式或定義 Cone 資料型別來計算圓錐的體積和麵積。