// 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 // Основная функция [] 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