(lab 5) feat: add Circle and Cylinder calculations

main
Artem-Darius Weber 3 weeks ago
parent ac5ae13f36
commit 1a9fd26526

@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="Program.fs" />
</ItemGroup>
</Project>

@ -0,0 +1,42 @@
// For more information see https://aka.ms/fsharp-console-apps
printfn "Hello from F#"
// Функция для вычисления площади круга
let circleArea radius = System.Math.PI * radius * radius
// Функция для вычисления объема цилиндра через суперпозицию
let cylinderVolume radius height =
circleArea radius * height
// Функция для вычисления объема цилиндра через каррирование
let cylinderVolumeCurried radius =
fun height -> circleArea radius * height
// Функция для чтения числа с консоли
let readFloat() =
System.Console.ReadLine()
|> System.Double.Parse
|> float
// Основная функция
[<EntryPoint>]
let main argv =
System.Console.WriteLine("Введите радиус круга:")
let radius = readFloat()
System.Console.WriteLine("Введите высоту цилиндра:")
let height = readFloat()
// Вычисление через суперпозицию
let volume1 = cylinderVolume radius height
System.Console.WriteLine($"Объем цилиндра (через суперпозицию): {volume1:F2}")
// Вычисление через каррирование
let volume2 = (cylinderVolumeCurried radius) height
System.Console.WriteLine($"Объем цилиндра (через каррирование): {volume2:F2}")
// Демонстрация частичного применения
let area = circleArea radius
System.Console.WriteLine($"Площадь круга: {area:F2}")
0
Loading…
Cancel
Save