User Tools

Site Tools


fp:main

Функциональное программирование

Изучаем язык HASKELL - чистый функциональный язык программирования со строгими типами данных, который также промышленно востребован.

Цель освоения материала - научиться представлять программу как суперпозицию функций, освоить рекурсию, типы данных с тегированием. Изучение функционального программирования позволяет более профессионально проектировать программы на языках класса Java, Python, JavaScript, C, C++, C#.

Перечень лабораторных работ

Лабы оформлять в виде папок с файлами на гитхабе, ссылку и прогресс записывать сюда: сделал лабу - поставь “+” в ячейку в столбце по номеру (теме) лабы. Не забудь ссылку на проект Гитхаб.

На каждую лабу не надо делать ссылку. Я найду.

  1. Освоение типов данных Haskell. задача - разработать программу решения квадратного уравнения - функция от трех аргументов a,b,c, возвращающая тегированное значение в зависимости от комбинации входных параметров: Два значени, Четное значение, Нет решений.
  2. Рекурсивная обработка и порождение списков
  3. Обработка структур
  4. Функции второго порядка
    • Решить пару задач из списка второй лабы при помощи функций второго порядка
    • Реализовать функцию второго порядка
  5. Монады, Ввов-двывод
    • Реализовать решение двух задач из списка второй лабы при помощи монад.
    • Реализовать монаду, сохраняющую результат предыдущей лабы в файл, исходные данные берутся так же их файла.

Основной ресурс с заданиями - https://wiki.haskell.org/H-99:_Ninety-Nine_Haskell_Problems

fp/main.txt · Last modified: 2023/02/02 15:09 by olga