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.

49 lines
2.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Лабораторная работа 5: Функциональное программирование на F#
## Описание
Этот проект содержит набор программ, демонстрирующих основные концепции функционального программирования на языке F#. Каждая программа представляет собой отдельный пример, иллюстрирующий определенную технику или подход.
## Примеры программ
1. **HelloWorld** - Простой пример вывода "Привет, мир!" на F#
2. **QuadraticEquation** - Решение квадратного уравнения с использованием сопоставления с образцом
3. **CircleAndCylinder** - Расчет площади круга и объема цилиндра, демонстрирует суперпозицию и каррирование
4. **NumberOperations** - Вычисление суммы цифр числа с использованием рекурсии
5. **RecursionTypes** - Демонстрация различных типов рекурсии (вверх, вниз, хвостовая)
6. **FunctionFactory** - Создание функций во время выполнения (функции как значения)
7. **NumberTraversal** - Обход цифр числа с различными операциями (сумма, произведение, минимум, максимум)
8. **LambdaTraversal** - Использование лямбда-выражений для обработки цифр числа
9. **ConditionalTraversal** - Условный обход цифр числа с использованием предикатов
10. **NumberExamples** - Практические примеры работы с цифрами числа и композицией условий
## Запуск программ
### Локально
Для запуска отдельной программы:
```bash
cd "lab 5/<название_программы>"
dotnet run
```
Например:
```bash
cd "lab 5/HelloWorld"
dotnet run
```
### Через Docker
```bash
make lab5-docker-build
make lab5-docker-run
```
## Требования
- .NET 8.0 SDK или выше
- Docker (опционально)