Архив‎ > ‎Весна 2011‎ > ‎

Практикум на ЭВМ (161, 2 семестр)

Новости

  • 09.03.2011 - контрольная работа - 1 (Лямбда-исчисление)

Часть - 1: Haskell

Задание 1: простейшие функции (до 16.04.2010)
  • сумма элементов списка
  • добавление элемента в конец списка
  • сумма квадратов
  • перевернутый список
  • реализация функции map, применяющую любую функции к каждому элементу списка (map :: (a -> b) -> [a] -> [b])
  • список всех чисел Фибоначчи
  • конкатенация списков
Задание 2:
  • список всех чисел Фибоначчи выраженный через себя
  • сумма чётных чисел Фибоначчи не превосходящих 4000000
Задание 3:
  • список всех просттых чисел
  • найти наибольший простой делитель числа 600851475143
    Замечание: для успешной сдачи результат должен считаться <1 сек
Задание 4:
  • описать тип, соответсвующий арифметическим выражениям с целыми числами и операциями +, -, *, / 
  • реализовать функцию для подсчёта результата вычисления такого выражения
    Например:
    > calc (Add (Num 1)  (Add (Num 2) (Num 3)))
    6
Задание 5:
  • Реализовать алгоритм нахождения НОД на языке ассемблера StudentAsm
  • head - вывести в стандартный поток вывода первые n строк из входа.
    Реализовать head следует в виде исполнимого модуля. Программа должна работать аналогично одноименной утилите Linux:
    • *Программа имеет необязательный параметр - имя входного файла. Если параметр не указан, то чтение должно производиться из стандартного потока ввода.
    • Программе можно передать необязательный параметр "-n <число>" задающий количество строк для вывода. По умолчанию - 10.
    • Если на входе менее n строк, то выводится всё содержимое.
Задание 6:
Задание 7:
  • Дискретная задача о рюкзаке

Часть 2 - Си

Задание 8:
  • Конь: найти маршрут шахматного коня, проходящего через все поля доски по одному разу.
    При обходе использовать правило Варнсдорфа.
Успеваемость

Comments