You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.9 KiB
2.9 KiB
Лабораторная работа 5: Функциональное программирование на F#
Описание
Этот проект содержит набор программ, демонстрирующих основные концепции функционального программирования на языке F#. Каждая программа представляет собой отдельный пример, иллюстрирующий определенную технику или подход.
Примеры программ
- HelloWorld - Простой пример вывода "Привет, мир!" на F#
- QuadraticEquation - Решение квадратного уравнения с использованием сопоставления с образцом
- CircleAndCylinder - Расчет площади круга и объема цилиндра, демонстрирует суперпозицию и каррирование
- NumberOperations - Вычисление суммы цифр числа с использованием рекурсии
- RecursionTypes - Демонстрация различных типов рекурсии (вверх, вниз, хвостовая)
- FunctionFactory - Создание функций во время выполнения (функции как значения)
- NumberTraversal - Обход цифр числа с различными операциями (сумма, произведение, минимум, максимум)
- LambdaTraversal - Использование лямбда-выражений для обработки цифр числа
- ConditionalTraversal - Условный обход цифр числа с использованием предикатов
- NumberExamples - Практические примеры работы с цифрами числа и композицией условий
Запуск программ
Локально
Для запуска отдельной программы:
cd "lab 5/<название_программы>"
dotnet run
Например:
cd "lab 5/HelloWorld"
dotnet run
Через Docker
make lab5-docker-build
make lab5-docker-run
Требования
- .NET 8.0 SDK или выше
- Docker (опционально)
Задачи лабораторной работы
- Изучение основ функционального программирования на F#
- Применение рекурсии и хвостовой рекурсии
- Работа с функциями высшего порядка
- Использование лямбда-выражений
- Понимание каррирования и частичного применения функций
- Применение сопоставления с образцом (pattern matching)