Perltask 2011-2012

Преподаватели: Журавлев Николай, Паначёв Максим, Хозов Андрей, Дублённых Денис, Самунь Виктор, Азовсков Сергей
Студент берет задачу самостоятельно.
Максимальное число студентов на задачу: 8
Если задача не будет оценена в течении 30 дней, то заявка отменяется автоматически.
После автоматической отмены заявки задачу можно будет взять через 14 дней.
У каждого студента может быть не более 2 неоцененных задач.

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

Допуск к зачёту: 10 баллов
Допуск к экзамену: 40 баллов
Без второго вопроса на экзамене: 60 баллов
Биллинг
14
Вход: лог файл web-сервера и файл, описывающий стоимость того или иного
ресурса (формат данного файла разработать самостоятельно).
Выход: счета для каждого из пользователей с возможностью детализации.
Якунин Кирилл 26.03.2012 10 05.05.2012
Маценко Ольга 27.03.2012 12 27.01.2013
Волкова Дарья 05.05.2012 10 27.05.2012
Мальков Владимир 16.05.2012 10 29.05.2012
Клинин Виктор 16.05.2012 10 01.06.2012
Епанчинцев Тимофей 09.09.2012 14 11.10.2012
Ромащенко Валерия 20.09.2012 12 14.12.2012
Кондратьев Вячеслав 12.10.2012 14 25.10.2012
Обработка текстов программ

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

форматтер 15
Змеев Степан 26.05.2012 10 30.05.2012
Кулаев Олег 12.09.2012 15 24.12.2012
Севостьянов Андрей 13.10.2012 15 01.11.2012
Анфилатов Дмитрий 02.12.2012 14 27.12.2012
Орехов Артем 27.03.2013 10 12.05.2013

транслятор 20
Девяткин Кирилл 17.10.2012 20 09.12.2012
Десятников Артем 02.12.2012 5 05.12.2012
Заец Артем 05.12.2012 15 19.12.2012
Лозманов Виктор 05.02.2013 20 21.03.2013
Ведерников Константин 31.03.2014 10 04.04.2014
Пары слов
11
Вход: текст на русском языке и файл, содержащий список "не слов".
Программа должна построить список наиболее частых пар слов,
употребляемых в одной фразе (предложении), при этом слова могут быть
расположены в любом порядке в предложении. Из рассматриваемых слов
необходимо исключить все слова, указанные в списке "не слов".
Орехов Артем 17.05.2012 10 30.05.2012
Янкин Артем 17.05.2012 10 30.05.2012
Баженова Анна 24.05.2012 11 24.05.2012
Шнюков Сергей 05.09.2012 11 27.09.2012
Кулаев Олег 12.09.2012 8 16.09.2012
Салигжанов Илья 12.09.2012 11 24.10.2012
Зубарев Яков 13.09.2012 11 10.12.2012
Гомзяков Сергей 11.10.2012 11 19.11.2012
Взлом шифра
18
Вход: текст, зашифрованный произвольным подстановочным шифром.
Выход: оригинальное сообщение (возможна неполная дешифрация... с потерей баллов:).
Десятников Артем 09.10.2012 15 07.11.2012
Танана Дмитрий 12.10.2012 10 13.10.2012
Штех Геннадий 29.11.2012 1 28.12.2012
Девяткин Кирилл 12.12.2012 13 12.12.2012
Белякин Александр 18.12.2012 8 27.12.2012
Перевод документации в другой формат

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

man2html 12
Бачурин Никита 25.10.2012 10 25.10.2012
Захаров Алексей 28.10.2012 10 07.11.2012
Орехов Артем 23.11.2012 12 10.03.2013
Янкин Артем 10.12.2012 10 29.12.2012
Лозманов Виктор 05.02.2013 1 06.03.2013
Маслов Андрей 15.04.2013 6 28.02.2014
Клинин Виктор 25.05.2013 9 24.06.2013

man2rtf 14
Якунин Кирилл 17.02.2013 8 06.04.2013

man2pdf 20

man2xml 14

pod2html 12
Заец Артем 21.11.2012 10 12.12.2012
Кулаев Олег 12.12.2012 4 19.12.2012
Мальков Владимир 18.04.2013 7 09.12.2013

pod2rtf 14
Салигжанов Илья 19.11.2012 6 15.12.2012
Зубарев Яков 21.02.2013 8 22.03.2013

pod2pdf 20

pod2xml 14
Генератор отчетов
14
Вход: формат отчета (язык описания разработать самостоятельно),
данные для подстановки.
Выход: набор заполненных отчетов.
Десятников Артем 05.11.2012 14 05.12.2012
Маценко Ольга 12.11.2012 10 27.01.2013
Анфилатов Дмитрий 17.12.2012 12 27.12.2012
Небо
20
Вход: база данных с описанием небесной сферы, координаты наблюдателя, угол обзора.
Программа должна позволять вращать наблюдателя, менять угол наклона его головы и
выводить на экран то, что он видит.
Примечание: данная программа предполагает визуализацию при помощи модуля Tk.
Примечание 2: база данных - ftp://shannon.usu.edu.ru/perl/data/stars.zip
Акиев Виталий 19.10.2012 15 15.12.2012
Тарасова Анна 27.01.2014 15 27.01.2014
Лесенка
9
Вход: исходное слово (например МУХА), целевое слово (например СЛОН) и словарь.
Выход: цепочка однобуквенных преобразований, позволяющая получить из
исходного слова целевое, при этом каждый промежуточный шаг должен также
являться словом (т.е. присутствовать в словаре).
Примечание: словарь - ftp://shannon.usu.edu.ru/perl/data/runouns.zip
Севостьянов Андрей 25.03.2012 9 14.05.2012
Гомзяков Сергей 25.03.2012 9 02.05.2012
Шульга Максим 25.03.2012 9 28.05.2012
Лозманов Виктор 15.05.2012 5 28.05.2012
Горин Павел 16.05.2012 9 29.05.2012
Салигжанов Илья 05.09.2012 5 04.10.2012
Епанчинцев Тимофей 09.09.2012 9 11.10.2012
Волкова Дарья 09.09.2012 5 09.10.2012
Многочлены
12
Вход: 2 многочлена от нескольких переменных, заданных в математической
форме (т.е. знаки некоторых операций могут отсутствовать).
Выход: Указание ошибки в записи, если таковая присутствовала, иначе
сообщение о совпадении или несовпадении введенных многочленов.
Маслов Андрей 25.08.2012 10 08.10.2012
Захаров Алексей 05.11.2012 12 10.12.2012
Янкин Артем 19.11.2012 12 29.12.2012
Кулаев Олег 20.11.2012 10 29.12.2012
Салигжанов Илья 21.11.2012 9 28.12.2012
Палиндромы
8
Вход: текст на русском языке.
Выход: все палиндромы, построенные из слов данного текста.
Гомзяков Сергей 25.03.2012 4 16.05.2012
Кручинина Анастасия 25.03.2012 4 16.05.2012
Лозманов Виктор 03.05.2012 5 28.05.2012
Мельников Александр 11.09.2012 6 04.10.2012
Захаров Алексей 12.11.2012 2 10.12.2012
Янкин Артем 13.11.2012 8 29.12.2012
Орехов Артем 24.01.2013 8 20.02.2013
Кроссворд
15
Вход: список слов и геометрия (описание внешнего вида кроссворда).
Выход: заполненный кроссворд (сообщение об ошибке, если заполнить невозможно).
Примечание: словарь - ftp://shannon.usu.edu.ru/perl/data/ruwords.zip.
Девяткин Кирилл 16.05.2012 14 24.05.2012
Заец Артем 30.10.2012 15 12.12.2012
Покровский Алексей 30.10.2012 1 29.11.2012
Галиева Ляйсан 14.11.2012 15 22.11.2012
Левин Алексей 23.11.2012 15 05.12.2012
Гомзяков Сергей 08.03.2013 15 21.03.2013
Отладчик
25
Вход: программа на языке Perl.
Отладчик должен предоставить интерфейс пользователя, который позволяет
проделывать стандартные операции: просмотр текста программы, установка/снятие
точек останова (breakpoints), просмотр значения переменных (watch), пошаговое
выполение программы (trace), просмотр стека вызовов (call stack).
Пальмов Евгений 26.10.2012 25 20.12.2012
Белякин Александр 05.12.2012 25 27.12.2012
Игра

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

поддавки 17
Покровский Алексей 16.05.2012 10 29.05.2012
Куклин Илья 06.12.2012 17 20.12.2012

реверси 17
Епанчинцев Тимофей 03.05.2012 15 28.05.2012
Кулаев Олег 17.05.2012 10 28.05.2012
Илья Титков 07.09.2012 17 04.10.2012
Панина Ксения 04.10.2012 17 05.03.2014
Шульга Максим 05.12.2012 11 12.12.2012
Ильясова Виктория 06.12.2012 9 14.12.2012
Девяткин Кирилл 10.12.2012 5 12.12.2012
Галиева Ляйсан 23.01.2014 15 25.01.2014

100-клеточные шашки 17
Ромащенко Валерия 17.05.2012 12 27.12.2012
Анфилатов Дмитрий 07.09.2012 12 27.12.2012
Севостьянов Андрей 04.10.2012 13 04.10.2012
Зубарев Яков 20.11.2012 11 27.03.2013
Масленников Валентин 10.12.2012 5 19.12.2012
Маслов Андрей 05.03.2013 9 18.03.2013

шахматы 21
Пальмов Евгений 25.03.2012 21 14.05.2012
Горин Павел 07.05.2012 15 11.05.2012
Десятников Артем 13.05.2012 16 07.11.2012
Бачурин Никита 22.11.2012 11 22.11.2012
Лабиринт
10
Вход: файл с описанием лабиринта, начальная позиция, позиция выхода из
лабиринта и число бомб.
Выход: кратчайший путь от входа до выхода.
Примечание: бомба способна уничтожить одну стенку (т.е. сделать
смежными две соседние клетки, разделенные стеной).
Акиев Виталий 01.04.2012 10 01.06.2012
Победаш Сергей 13.09.2012 6 18.12.2012
Карпушкин Дмитрий 20.09.2012 10 11.10.2012
Камаев Сергей 13.10.2012 10 30.10.2012
Десятников Артем 14.10.2012 7 07.11.2012
Заец Артем 15.10.2012 10 19.12.2012
Покровский Алексей 30.03.2013 1 29.04.2013
Кручинина Анастасия 20.04.2013 5 14.05.2013
Дефрагментация
19
Вход: таблица FAT некоторого жесткого диска.
Выход: Последовательность переноса кластеров, решающая задачу
дефрагментирования за минимальное число переносов.
Примечание: исходная таблица FAT может содержать ошибки (потерянные
кластеры, пересекающиеся цепочки).
Масленников Валентин 12.11.2012 19 27.12.2012
Лозманов Виктор 20.12.2012 4 25.12.2012
Косовских Владислав 25.04.2013 19 11.05.2013
Венско Ксения 09.05.2013 12 12.06.2013
Сортировки
15
Реализовать несколько алгоритмов сортировки массивов (квадратичные, Шелла,
Хоара, пирамидальная, слиянием) и сравнить их (числа сравнений и перестановок,
устойчивость, время работы) между собой и со встроенной функцией sort.
Горбунова Ника 02.05.2012 10 28.05.2012
Салигжанов Илья 02.05.2012 15 19.11.2012
Кручинина Анастасия 16.05.2012 10 28.05.2012
Масленников Валентин 16.09.2012 10 06.11.2012
Маценко Ольга 17.09.2012 12 01.11.2012
Баженова Анна 17.09.2012 14 06.11.2012
Ромащенко Валерия 20.09.2012 14 22.12.2012
Бисенбиев Алишер 24.09.2012 6 22.11.2012
Жизнь
15
Написать программу, позволяющую задать начальную позицию, прокрутить время вперед,
проверить на отсутствие предыдущей позиции (сад Семирамиды).
Примечание: данная программа предполагает визуализацию при помощи модуля Tk.
Кондратьев Вячеслав 25.03.2012 15 31.03.2012
Илья Титков 02.04.2012 15 14.05.2012
Стариков Илья 04.05.2012 10 01.06.2012
Шматов Роман 07.05.2012 12 28.05.2012
Епанчинцев Тимофей 16.05.2012 12 28.05.2012
Севостьянов Андрей 16.05.2012 15 04.10.2012
Куклин Илья 16.05.2012 15 28.05.2012
Пальмов Евгений 07.09.2012 15 02.10.2012
Раскраска карты
16
Вход: описание стран на карте множеством отрезков (страна - многоугольник).
Выход: минимальное число цветов, необходимое для раскраски данной карты
(т.е. 2 соседних страны не могут быть одного цвета), и соответствующая раскраска.
Примечание: данная программа предполагает визуализацию при помощи модуля Tk.
Ерёмина Юлия 07.05.2012 10 01.06.2012
Венско Ксения 27.05.2012 10 01.06.2012
Акиев Виталий 08.11.2012 10 10.12.2012
Косовских Владислав 10.04.2013 11 11.05.2013
Сетевые сервисы

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

POP3 12
Белякин Александр 24.05.2012 10 30.05.2012
Штех Геннадий 26.05.2012 10 12.06.2012
Шустова Валерия 12.09.2012 10 19.10.2012
Селезнев Антон 11.10.2012 6 20.10.2012
Волкова Дарья 26.12.2012 6 22.01.2013
Клинин Виктор 26.03.2013 9 18.05.2013
Венско Ксения 05.04.2013 6 25.04.2013

SMTP 12
Зубарев Яков 31.03.2012 10 16.05.2012
Якунин Кирилл 03.10.2012 10 06.04.2013
Анфилатов Дмитрий 11.10.2012 11 22.12.2012
Гомзяков Сергей 17.12.2012 5 28.12.2012
Маслов Андрей 18.04.2013 10 13.12.2013
Мальков Владимир 08.12.2013 2 09.12.2013
Швецова Маргарита 03.03.2014 10 03.03.2014

FTP 12
Косовских Владислав 27.05.2012 10 01.06.2012
Илья Титков 07.09.2012 6 02.10.2012
Кондратьев Вячеслав 10.10.2012 12 11.10.2012
Ромащенко Валерия 15.12.2012 11 27.12.2012
Покровский Алексей 12.03.2013 6 25.03.2013
Мельник Андрей 25.07.2013 10 25.07.2013
Галиева Ляйсан 09.12.2013 10 25.12.2013

NTP 7
Салигжанов Илья 23.10.2012 7 19.11.2012
Мельников Александр 24.10.2012 4 25.10.2012
Маценко Ольга 25.10.2012 6 27.01.2013
Масленников Валентин 26.10.2012 7 27.12.2012
Захаров Алексей 01.12.2012 7 10.12.2012
Пушкарев Даниил 13.02.2013 5 02.03.2013
Горбунова Ника 30.03.2013 1 16.04.2013

DNS 14
Епанчинцев Тимофей 02.12.2012 14 08.12.2012

BitTorrent 25
Чат
15
Написать программу-чат для произвольного числа пользователей (децентрализованную).
Захаров Алексей 16.05.2012 10 06.06.2012
Заец Артем 18.05.2012 11 28.05.2012
Кондратьев Вячеслав 20.05.2012 14 11.10.2012
Илья Титков 07.09.2012 10 11.10.2012
Венско Ксения 19.09.2012 7 19.10.2012
Севостьянов Андрей 05.10.2012 14 25.10.2012
Покровский Алексей 10.11.2012 10 21.03.2013
Волкова Дарья 21.02.2013 7 22.03.2013
Разбор графических файлов

Вход: файл(ы) в одном из следующих форматов:
- BMP (Windows) [15]
- GIF (в т.ч. с анимацией)
- JPEG [17]
- PNG
Выход: подробное описание внутренней структуры файла и изображение.
Примечание: данная программа предполагает визуализацию при помощи модуля Tk.

BMP 15
Попов Евгений 15.05.2012 10 04.06.2012
Кондратьев Вячеслав 10.10.2012 15 11.10.2012
Илья Титков 14.10.2012 15 25.10.2012
Куклин Илья 23.10.2012 15 01.11.2012
Акиев Виталий 26.11.2012 7 16.12.2012
Горин Павел 27.11.2012 1 19.12.2012
Стариков Илья 18.12.2012 7 22.12.2012
Клинин Виктор 24.04.2013 13 24.06.2013

GIF 14
Якунин Кирилл 05.02.2013 12 06.04.2013
Венско Ксения 29.04.2013 7 11.05.2013

JPEG 17
Неганова Алла 15.06.2012 10 15.06.2012

PNG 14
Мальков Владимир 11.12.2012 9 20.12.2012
Камаев Сергей 26.03.2013 11 03.06.2013
Ведерников Константин 31.03.2014 8 04.04.2014