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 0ff00d9d25
(lab 5) feat: task-16-method-3: Добавлен метод нахождения суммы особых делителей числа
3 weeks ago
..
CircleAndCylinder (lab 5) feat: add Circle and Cylinder calculations 3 weeks ago
ConditionalCoprimeTraversal (lab 5) feat: task-15: Добавлена функция обхода взаимно простых чисел с условием 3 weeks ago
ConditionalTraversal (lab 5) feat: add Conditional Traversal approach 3 weeks ago
EulerFunction (lab 5) feat: task-14: Протестирована функция и добавлены функции для вычисления числа Эйлера 3 weeks ago
FavoriteLang (lab5) feat: Добавлена новая программа FavoriteLang с шуточными ответами на вопрос о любимом языке программирования 3 weeks ago
FavoriteLangFP (lab 5) feat: task-12: Добавлена новая программа FavoriteLangFP с реализацией через операторы суперпозиции и каррирования 3 weeks ago
FunctionFactory (lab 5) feat: add Function Factory example 3 weeks ago
HelloWorld (lab 5) feat: add Hello World example 3 weeks ago
LambdaTraversal (lab 5) feat: add Lambda Traversal techniques 3 weeks ago
MutuallyPrimeTraversal (lab 5) feat: task-13: Добавлена новая программа MutuallyPrimeTraversal для обхода взаимно простых компонентов числа 3 weeks ago
NumberExamples (lab 5) feat: add practical Number Examples 3 weeks ago
NumberOperations (lab 5) feat: add Number Operations example 3 weeks ago
NumberOperationsAdvanced (lab 5) feat: task-16-method-3: Добавлен метод нахождения суммы особых делителей числа 3 weeks ago
NumberTraversal (lab 5) feat: add Number Traversal algorithms 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
Makefile (lab 5) feat: task-16-method-1: Добавлен метод подсчета делителей числа, не делящихся на 3 3 weeks ago
README.md (lab5) docs: update for task 15 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 - Практические примеры работы с цифрами числа и композицией условий
  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 (опционально)