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.
Artem-Darius Weber 3ee1fb7479
(lab 5) feat: add Recursion Types demonstration
3 weeks ago
..
CircleAndCylinder (lab 5) feat: add Circle and Cylinder calculations 3 weeks ago
HelloWorld (lab 5) feat: add Hello World example 3 weeks ago
NumberOperations (lab 5) feat: add Number Operations example 3 weeks ago
QuadraticEquation (lab 5) feat: add Quadratic Equation solver 3 weeks ago
RecursionTypes (lab 5) feat: add Recursion Types demonstration 3 weeks ago
Dockerfile feat: init lab 5 project to monorepo 3 weeks ago
Program.fs feat: init lab 5 project to monorepo 3 weeks ago
README.md (lab 5) docs: update README with project descriptions 3 weeks ago
lab 5.fsproj feat: init lab 5 project to monorepo 3 weeks ago

README.md

Лабораторная работа 5: Функциональное программирование на F#

Описание

Этот проект содержит набор программ, демонстрирующих основные концепции функционального программирования на языке F#. Каждая программа представляет собой отдельный пример, иллюстрирующий определенную технику или подход.

Примеры программ

  1. HelloWorld - Простой пример вывода "Привет, мир!" на F#
  2. QuadraticEquation - Решение квадратного уравнения с использованием сопоставления с образцом
  3. CircleAndCylinder - Расчет площади круга и объема цилиндра, демонстрирует суперпозицию и каррирование
  4. NumberOperations - Вычисление суммы цифр числа с использованием рекурсии
  5. RecursionTypes - Демонстрация различных типов рекурсии (вверх, вниз, хвостовая)
  6. FunctionFactory - Создание функций во время выполнения (функции как значения)
  7. NumberTraversal - Обход цифр числа с различными операциями (сумма, произведение, минимум, максимум)
  8. LambdaTraversal - Использование лямбда-выражений для обработки цифр числа
  9. ConditionalTraversal - Условный обход цифр числа с использованием предикатов
  10. 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)