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.

3.3 KiB

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

Описание

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

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

  1. HelloWorld - Простой пример вывода "Привет, мир!" на F#
  2. QuadraticEquation - Решение квадратного уравнения с использованием сопоставления с образцом
  3. CircleAndCylinder - Расчет площади круга и объема цилиндра, демонстрирует суперпозицию и каррирование
  4. NumberOperations - Вычисление суммы цифр числа с использованием рекурсии
  5. RecursionTypes - Демонстрация различных типов рекурсии (вверх, вниз, хвостовая)
  6. FunctionFactory - Создание функций во время выполнения (функции как значения)
  7. NumberTraversal - Обход цифр числа с различными операциями (сумма, произведение, минимум, максимум)
  8. LambdaTraversal - Использование лямбда-выражений для обработки цифр числа
  9. ConditionalTraversal - Условный обход цифр числа с использованием предикатов
  10. NumberExamples - Практические примеры работы с цифрами числа и композицией условий
  11. FavoriteLang - Шуточное приложение, выдающее ответы на вопрос о любимом языке программирования
  12. FavoriteLangFP - Функциональная версия приложения FavoriteLang с использованием композиции функций и каррирования
  13. MutuallyPrimeTraversal - Обход взаимно простых чисел с различными операциями
  14. EulerFunction - Вычисление функции Эйлера и тестирование функции обхода взаимно простых чисел
  15. ConditionalCoprimeTraversal - Функция обхода взаимно простых чисел с дополнительными условиями

Запуск программ

Локально

Для запуска отдельной программы:

cd "lab 5/<название_программы>"
dotnet run

Например:

cd "lab 5/HelloWorld"
dotnet run

Через Makefile

make conditionalcoprimetraversal

Через Docker

docker-compose up lab5-conditional-coprime

Требования

  • .NET 8.0 SDK или выше
  • Docker (опционально)