Программирование

x2017-2019 (программирование, ПМ-ПУ) группа

Юрий Литвинов

Студент TODO №2 №4 №5 Тест 1
21 1 2 λ-интерпретатор Point-free 1 2 3
Игнатьев Денис 7
Теппоев Дмитрий 7
Терещенко Дмитрий 7

Задачи

Тест 1. 14.05.19
  1. Описать бесконечную последовательность из чисел [1, -1, 1, -1, 1, -1, 1, -1, …]. С помощью неё реализовать функцию, выдающую бесконечную последовательность [1, -2, 3, -4, 5, -6, …]. Конструкции императивного программирования использовать нельзя.

  2. Реализовать функцию, возвращающую все элементы двоичного дерева, удовлетворяющие переданному как параметр условию. Конструкции императивного программирования использовать нельзя.

  3. Реализовать класс "Очередь". При попытке получить значение из пустой очереди должно бросаться исключение. Конструкции императивного программирования использовать можно.

Домашняя работа 8. 07.05.19
Многопоточное программирование в F# (слайды)
Домашняя работа 7. 23.04.19
Вычислительные выражения в F# (слайды)
Домашняя работа 6. 16.04.19
Объектно-ориентированное программирование в F# (слайды)
Домашняя работа 5. 26.03.19
Генерики в F# (слайды)
  1. Point-free

    Записать в point-free стиле func x l = List.map (fun y -> y * x) l. Выписать шаги вывода и проверить с помощью FsCheck корректность результата

Домашняя работа 4. 12.03.19
Нетипизированное λ-исчисление (слайды)
  1. λ-интерпретатор

    Реализовать интерпретатор лямбда-выражений, выполняющий бета-редукцию по нормальной стратегии. Лямбда-выражения задаются через размеченные объединения. Должна поддерживаться альфа-конверсия для избежания захвата свободных переменных.

Домашняя работа 3. 05.03.19
Продолжение про F# (слайды)
Продолжение про F# (конспект)
Домашняя работа 2. 26.02.19
Введение в F# (слайды)
Введение в F# (конспект)
  1. Реализовать функцию, которая выдает первую позицию вхождения заданного числа в список

  2. Написать mergesort: функцию, которая принимает список и возвращает отсортированный список

    Юнит-тесты ко всем задачам обязательны и должны быть в отдельном проекте. Сборка в CI тоже обязательна.

Домашняя работа 1. 19.02.19
Введение (слайды)
Введение (конспект)
Онлайн-интерпретатор, умеющий F#
Домашняя страница F#
Хороший блог про F#

© 2014-2019 HwProj