Perltask / 2012

И оставлял страх/надежду всяк сюда входящий.



Внимание! Perltask переехал на AnyTask.

Чтобы получить пароль воспользуйтесь формой восстановления пароля
(укажите тот e-mail, на который зарегистрирован аккаунт на Perltask).

Данный сайт работает в режиме read-only.

Почта на всякий случай: anytask@urgu.org.

    Общие требования.
    1. Документация, декомпозиция, help.
    2. Тестирование.
    3. Пакетные режимы.
    4. Не использовать готовые модули, решающие существенную часть задачи.
    ----------------------------------------------------------------------

1. Биллинг [14]
	Вход: лог файл web-сервера и файл, описывающий стоимость того или иного
	ресурса (формат данного файла разработать самостоятельно).
	Выход: счета для каждого из пользователей с возможностью детализации.

   Якунин Кирилл, КБ-101      (26.03.12)  10 (05.05.12)
   Маценко Ольга, КБ-101      (27.03.12)  10 (05.05.12)
   Волкова Дарья, КН-103      (05.05.12)  10 (27.05.12)
   Мальков Владимир, КН-101   (16.05.12)  10 (29.05.12)
   Клинин Виктор, КБ-101      (16.05.12)  10 (01.06.12)
   Севостьянов Андрей, КН-104 (21.08.12)


2. Обработка текстов программ [15, ...]
	Вход: программа на некотором императивном языке программирования и файл,
	описывающий данный язык (способ описания разработать самостоятельно).
	Написать:
	- форматтер кода (с поддержкой нескольких стилей расстановки скобок)
	- транслятор в гипертекст [20]

   форматтер
     Змеев Степан, КН-102 (26.05.12)  10 (30.05.12)

   транслятор

3. Пары слов [11]
	Вход: текст на русском языке и файл, содержащий список "не слов".
	Программа должна построить список наиболее частых пар слов,
	употребляемых в одной фразе (предложении), при этом слова могут быть
	расположены в любом порядке в предложении. Из рассматриваемых слов
	необходимо исключить все слова,	указанные в списке "не слов".

   Орехов Артем, КН-102  (17.05.12)  10 (30.05.12)
   Янкин Артем, КН-102   (17.05.12)  10 (30.05.12)
   Баженова Анна, КН-102 (24.05.12)  11 (24.05.12)


4. Взлом шифра [18]
	Вход: текст, зашифрованный произвольным подстановочным шифром.
	Выход: оригинальное сообщение (возможна неполная дешифрация... с потерей баллов:).

5. Перевод документации в другой формат [14, ...]
	Вход: документ в одном из следующих форматов:
	- man
	- pod
	Выход: документ в одном из следующих форматов:
	- HTML [12]
	- RTF
	- PDF [20]
	- XML

   man2html
   man2rtf
   man2pdf
   man2xml
   pod2html
   pod2rtf
   pod2pdf
   pod2xml

6. Генератор отчетов [14]
	Вход: формат отчета (язык описания разработать самостоятельно),
	данные для подстановки.
	Выход: набор заполненных отчетов.

7. Небо [20]
	Вход: база данных с описанием небесной сферы, координаты наблюдателя, угол обзора.
	Программа должна позволять вращать наблюдателя, менять угол наклона его головы и
	выводить на экран то, что он видит.
	Примечание: данная программа предполагает визуализацию при помощи модуля Tk.
	Примечание 2: база данных - ftp://shannon.usu.edu.ru/perl/data/stars.zip

8. Лесенка [9]
	Вход: исходное слово (например МУХА), целевое слово (например СЛОН) и словарь.
	Выход: цепочка однобуквенных преобразований, позволяющая получить из
	исходного слова целевое, при этом каждый промежуточный шаг должен также
	являться словом (т.е. присутствовать в словаре).
	Примечание: словарь - ftp://shannon.usu.edu.ru/perl/data/runouns.zip

   Севостьянов Андрей, КН-104 (25.03.12)  9 (14.05.12)
   Гомзяков Сергей, КН-103    (25.03.12)  9 (02.05.12)
   Шульга Максим, КН-101      (25.03.12)  9 (28.05.12)
   Лозманов Виктор, КН-103    (15.05.12)  5 (28.05.12)
   Горин Павел, КН-101        (16.05.12)  9 (29.05.12)


9. Многочлены [12]
	Вход: 2 многочлена от нескольких переменных, заданных в математической
	форме (т.е. знаки некоторых операций могут отсутствовать).
	Выход: Указание ошибки в записи, если таковая присутствовала, иначе
	сообщение о совпадении или несовпадении введенных многочленов.

   Маслов Андрей, КН-101 (25.08.12)


10. Палиндромы [8]
	Вход: текст на русском языке.
	Выход: все палиндромы, построенные из слов данного текста.

    Гомзяков Сергей, КН-103     (25.03.12)  4 (16.05.12)
    Кручинина Анастасия, КН-103 (25.03.12)  4 (16.05.12)
    Лозманов Виктор, КН-103     (03.05.12)  5 (28.05.12)


11. Кроссворд [15]
	Вход: список слов и геометрия (описание внешнего вида кроссворда).
	Выход: заполненный кроссворд (сообщение об ошибке, если заполнить невозможно).
	Примечание: словарь - ftp://shannon.usu.edu.ru/perl/data/ruwords.zip

    Девяткин Кирилл, КН-102 (16.05.12)  14 (24.05.12)


12. Отладчик [25]
	Вход: программа на языке Perl.
	Отладчик должен предоставить интерфейс пользователя, который позволяет
	проделывать стандартные операции: просмотр текста программы, установка/снятие
	точек останова (breakpoints), просмотр значения переменных (watch), пошаговое
	выполение программы (trace), просмотр стека вызовов (call stack).

13. Игра [17, ...]
	Написать программу, позволяющую играть с компьютером в одну из следующих игр:
	- поддавки
	- реверси
	- 100-клеточные шашки
	- шахматы [21]
	Примечание: от компьютерного оппонента не требуется игра на уровне
	гроссмейстера, минимум - умение компьютером совершать непротиворечащие
	правилам ходы, а также правильно реагировать на игровую ситуацию (шах, мат и т.п.)

    поддавки
      Покровский Алексей, КН-101 (16.05.12)  10 (29.05.12)

    реверси
      Тимофей Епанчинцев, КН-104 (03.05.12)  15 (28.05.12)
      Кулаев Олег, КН-102        (17.05.12)  10 (28.05.12)

    100-клеточные шашки
      Валерия Ромащенко, КН-104  (17.05.12)   8 (28.05.12)
      Севостьянов Андрей, КН-104 (21.08.12)

    шахматы
      Евгений Пальмов, КН-104    (25.03.12)  21 (14.05.12)
      Горин Павел, КН-101        (07.05.12)  15 (11.05.12)
      Десятников Артем, КН-102   (13.05.12)  15 (28.05.12)
      Карпушкин Дмитрий, КН-101  (28.08.12)


14. Лабиринт [10]
	Вход: файл с описанием лабиринта, начальная позиция, позиция выхода из
	лабиринта и число бомб.
	Выход: кратчайший путь от входа до выхода.
	Примечание: бомба способна уничтожить одну стенку (т.е. сделать
	смежными две соседние клетки, разделенные стеной).

    Акиев Виталий, КБ-101 (01.04.12)  10 (01.06.12)


15. Дефрагментация [19]
	Вход: таблица FAT некоторого жесткого диска.
	Выход: Последовательность переноса кластеров, решающая задачу
	дефрагментирования за минимальное число переносов.
	Примечание: исходная таблица FAT может содержать ошибки (потерянные
	кластеры, пересекающиеся цепочки).

16. Сортировки [15]
	Реализовать несколько алгоритмов сортировки массивов (квадратичные, Шелла,
	Хоара, пирамидальная, слиянием) и сравнить их (числа сравнений и перестановок,
	устойчивость, время работы) между собой и со встроенной функцией sort.

    Горбунова Ника, КН-103      (02.05.12)  10 (28.05.12)
    Салигжанов Илья, КБ-101     (02.05.12)  10 (01.06.12)
    Кручинина Анастасия, КН-103 (16.05.12)  10 (28.05.12)


17. Жизнь [15]
	Написать программу, позволяющую задать начальную позицию, прокрутить время вперед,
	проверить на отсутствие предыдущей позиции (сад Семирамиды).
	Примечание: данная программа предполагает визуализацию при помощи модуля Tk.

    Вячеслав Кондратьев, КН-104 (25.03.12)  15 (31.03.12)
    Титков Илья, КН-104         (02.04.12)  15 (14.05.12)
    Стариков Илья, КБ-101       (04.05.12)  10 (01.06.12)
    Шматов Роман, КН-101        (07.05.12)  12 (28.05.12)
    Тимофей Епанчинцев, КН-104  (16.05.12)  12 (28.05.12)
    Севостьянов Андрей, КН-104  (16.05.12)  12 (28.05.12)
    Илья Куклин, КН-104         (16.05.12)  15 (28.05.12)


18. Раскраска карты [16]
	Вход: описание стран на карте множеством отрезков (страна - многоугольник).
	Выход: минимальное число цветов, необходимое для раскраски данной карты
	(т.е. 2 соседних страны не могут быть одного цвета), и соответствующая раскраска.
	Примечание: данная программа предполагает визуализацию при помощи модуля Tk.

    Ерёмина Юлия, КБ-101  (07.05.12)  10 (01.06.12)
    Венско Ксения, КБ-101 (27.05.12)  10 (01.06.12)


19. Сетевые сервисы [12, ...]
	Написать одну из следующих программ:
	- клиент для получения почты (по протоколу POP3)
	- клиент для отправки почты (по протоколу SMTP)
	- FTP-клиент
	- NTP-клиент [7]
	- DNS-клиент [14]
	- BitTorrent-клиент [25]

    POP3
      Белякин Александр, КН-102   (24.05.12)  10 (30.05.12)
      Штех Геннадий, КН-101       (26.05.12)  10 (12.06.12)

    SMTP
      Зубарев Яков, КБ-101        (31.03.12)  10 (16.05.12)

    FTP
      Косовских Владислав, КБ-101 (27.05.12)  10 (01.06.12)

    NTP
    DNS
    BitTorrent

20. Чат [15]
	Написать программу-чат для произвольного числа пользователей (децентрализованную).

    Захаров Алексей, КН-101     (16.05.12)  10 (06.06.12)
    Заец Артем, КН-102          (18.05.12)  11 (28.05.12)
    Вячеслав Кондратьев, КН-104 (20.05.12)  12 (28.05.12)
    Карпушкин Дмитрий, КН-101   (11.08.12)