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

244-2014 группа

Тимофей Брыксин

Студент TODO №1 №2 №3 №4 Тест 1 №5 №6 Тест 2
92 1 2 1 2 3 4 5 1 2 3 4 5 1 2 3 4 1 2 3 4 5 1 2 3 4 1 2 3 Презентация Текст курсовой
Батоев Константин 3
Боровков Данила 2
Ершов Иван 27
Корнилова Анастасия
Маслов Алексей 3
Рюмин Артём 19
Смоляков Никита
Соловьев Александр 5
Танков Владислав
Харин Максим 6
Чхеидзе Даниил 27

Задачи

Тест 2. 16.05.16
  1. Презентация
  2. Текст курсовой
Домашняя работа 6. 05.05.16
Лекция 6. Монады Error, State
Лекция 7. Reader. Writer. Моноиды
  1. Описать тип, позволяющий хранить информацию о многочленах с одной переменной, и реализовать для него сложение, умножение и show

  2. Для типа Graph, разбиравшегося на паре, реализовать алгоритм Дейкстры поиска кратчайшего пути. Поиск пути должен производиться с использованием экземпляров класса типов Monad или MonadPlus

  3. Реализовать тип данных BinarySearchTree и соответствующие функции для работы с ним: добавление, удаление, поиск, размер (число элементов), высота

Домашняя работа 5. 05.05.16
Лекция 5. Монады: часть 2. MonadPlus
  1. Реализовать функцию, которая по заданному числу n выводит все его разложения на положительные слагаемые (с точностью до порядка разложения)

  2. С помощью оператора >>= опишите функцию, которая для данного числа n создает список из всех попарных произведений чисел от 1 до n. ( Т.е. что-то такое: [1*1, 1*2, 1*3, …, 1*n, 2*1, 2*2, …, n*n] - всего n*n элементов)

  3. Используя монадичесие функции, опишите фунцию, которая ищет в списке первый элемент, больший своих соседей (предыдущего и следующего)

  4. Дано выражение, содержащее переменную, константы, арифметические операции. Посчитать производную этого выражения по этой переменной, провести в полученном выражении для производной возможные упрощения (например, 1*x = x). Подходящий тип данных разработать самостоятельно

Тест 1. 25.03.16
Домашняя работа 4. 06.03.16
Конспект
  1. Реализовать функцию поиска по некоторому условию в двоичном дереве. Условие передается в качестве параметра. Реализовать функцию свертки для бинарного дерева.

  2. Реализовать три варианта функции, подсчитывающей количество четных чисел в списке (с использованием стандартных функций map, filter, foldr). Использование рекурсии не допускается.

  3. Проверить, что все элемента списка различны.

  4. Написать программу, которая в диалоговом режиме позволяет осуществлять следующие операции:
    0 - exit
    1 - add value to sorted list
    2 - remove value from list
    3 - print list
    Все операции должны сохранять сортированность. Начинаем с пустого списка.

Домашняя работа 3. 26.02.16
Конспект
  1. Записать следующую функцию в point-free стиле: func x l = map (\y -> y*x) l. В комментариях показать все промежуточные шаги преобразований.

  2. Реализовать функцию, генерирующую бесконечный список, содержащий все целые положительные числа, состоящие только из цифр 1, 7 и 9 (числа должны идти в порядке возрастания). Например, первые 10 чисел в этом списке должны быть [1,7,9,11,17,19,71,77,79,91]. Функция должна быть реализована с помощью "завязывания в узел".

  3. Вывести первую позицию в списке, на которой сумма двух соседних элементов максимальна. Например, для [1, 5, 6, 2] функция должно вернуть значение 2.

  4. Посчитать высоту дерева, а также минимальное расстояние в дереве от корня до листьев.

  5. Реализовать функцию, которая по произвольной строке проверяет корректность скобочной последовательности в этой строке.

Домашняя работа 2. 20.02.16
Конспект
  1. Реализовать функцию обращения списка. Функция должна работать за линейное время (подсказка: конкатенация — это плохо)

  2. Реализовать функцию, которая формирует список из n последовательных степений двойки (n — аргумент функции)

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

  4. Реализовать функцию, которая выдает первую позицию вхождения заданного числа в список

  5. Реализовать функцию, проверяющую, является ли строка палиндромом

Домашняя работа 1. 15.02.16
Конспект
Введение в ФП (почитайте разделы 1 и 2)
Лямбда-исчисление для самых маленьких
  1. Реализовать программу подсчета факториала

  2. Реализовать программу подсчета i-го числа Фибоначчи

© 2014-2018 HwProj