Perltask 2012-2013

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

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

Допуск к зачёту: 10 баллов
Допуск к экзамену: 40 баллов
Без второго вопроса на экзамене: 60 баллов
Биллинг
14
Вход: лог файл web-сервера и файл, описывающий стоимость того или иного
ресурса (формат данного файла разработать самостоятельно).
Выход: счета для каждого из пользователей с возможностью детализации.
Камалова Алма 10.05.2013 10 06.06.2013
Буньков Алексей 04.06.2013 10 06.06.2013
Стешенко Никита 05.06.2013 10 27.06.2013
Васильева Вероника 23.06.2013 11 25.04.2014
Гусева Зинаида 31.08.2013 14 27.01.2014
Злобин Сергей 28.09.2013 14 22.12.2013
Усков Михаил 18.01.2014 10 20.01.2014
Копнин Андрей 25.05.2014 8 26.05.2014
Обработка текстов программ

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

форматтер 15
Гусева Зинаида 21.10.2013 10 29.01.2014
Смеловская Татьяна 12.11.2013 12 06.12.2013
Бадьина Анастасия 12.11.2013 15 12.12.2013
Трифонова Анастисия 13.11.2013 8 16.12.2013
Бабкина Евгения 18.11.2013 8 11.12.2013
Муфлихонова Алина 17.12.2013 5 02.04.2014
Камалова Алма 30.03.2014 13 25.04.2014
Каргапольцева Екатерина 31.03.2014 13 25.04.2014

транслятор 20
Пары слов
11
Вход: текст на русском языке и файл, содержащий список "не слов".
Программа должна построить список наиболее частых пар слов,
употребляемых в одной фразе (предложении), при этом слова могут быть
расположены в любом порядке в предложении. Из рассматриваемых слов
необходимо исключить все слова, указанные в списке "не слов".
Былинина Юлия 12.03.2013 11 28.04.2013
Бадьина Анастасия 13.03.2013 11 25.05.2013
чухарев александр 13.03.2013 11 13.05.2013
Карпова Ольга 13.03.2013 11 13.05.2013
Телятникова Мария 15.03.2013 11 20.04.2013
Левенских Александр 15.03.2013 11 16.04.2013
Смеловская Татьяна 29.04.2013 11 17.05.2013
Аксёнова Наталья 07.05.2013 11 28.05.2013
Взлом шифра
18
Вход: текст, зашифрованный произвольным подстановочным шифром.
Выход: оригинальное сообщение (возможна неполная дешифрация... с потерей баллов:).
Копнин Андрей 23.05.2013 10 06.06.2013
Бабкина Евгения 09.09.2013 12 12.12.2013
Кунгурцев Алексей 09.09.2013 12 06.11.2013
Карпова Ольга 09.09.2013 1 26.09.2013
Надежда Иванова 09.09.2013 15 03.12.2013
Истомин Антон 01.12.2013 5 26.12.2013
Перевод документации в другой формат

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

man2html 12
Промах Александр 12.03.2013 12 25.05.2013
Прокофьев Михаил 20.12.2013 12 25.01.2014

man2rtf 14

man2pdf 20

man2xml 14

pod2html 12
Вахитов Александр 28.09.2013 6 16.10.2013
Бадьина Анастасия 31.10.2013 12 05.12.2013
Смеловская Татьяна 05.12.2013 12 26.01.2014
Нагайцев Дмитрий 28.01.2014 5 28.01.2014
Кондрашин Никита 05.03.2014 7 13.03.2014
Каргапольцева Екатерина 07.04.2014 5 07.04.2014

pod2rtf 14
Усков Михаил 19.12.2013 7 17.01.2014

pod2pdf 20

pod2xml 14
Генератор отчетов
14
Вход: формат отчета (язык описания разработать самостоятельно),
данные для подстановки.
Выход: набор заполненных отчетов.
Злобин Сергей 10.05.2013 10 06.06.2013
Бабкина Евгения 09.09.2013 14 21.10.2013
Надежда Иванова 09.09.2013 14 03.12.2013
чухарев александр 09.09.2013 13 26.09.2013
Руднев Владимир 09.09.2013 14 14.10.2013
Кунгурцев Алексей 09.09.2013 14 14.10.2013
Былинина Юлия 03.12.2013 10 26.12.2013
Нагайцев Дмитрий 12.01.2014 14 28.01.2014
Небо
20
Вход: база данных с описанием небесной сферы, координаты наблюдателя, угол обзора.
Программа должна позволять вращать наблюдателя, менять угол наклона его головы и
выводить на экран то, что он видит.
Примечание: данная программа предполагает визуализацию при помощи модуля Tk.
Примечание 2: база данных - ftp://shannon.usu.edu.ru/perl/data/stars.zip
Вяцков Михаил 10.05.2013 20 12.12.2013
Лесенка
9
Вход: исходное слово (например МУХА), целевое слово (например СЛОН) и словарь.
Выход: цепочка однобуквенных преобразований, позволяющая получить из
исходного слова целевое, при этом каждый промежуточный шаг должен также
являться словом (т.е. присутствовать в словаре).
Примечание: словарь - ftp://shannon.usu.edu.ru/perl/data/runouns.zip
Зайков Михаил 19.02.2013 9 05.06.2013
Телятникова Мария 21.02.2013 9 02.04.2013
Кунгурцев Алексей 12.03.2013 9 13.05.2013
Ефанов Никита 12.03.2013 9 18.05.2013
Руднев Владимир 12.03.2013 9 01.05.2013
Надежда Иванова 12.03.2013 9 18.05.2013
Былинина Юлия 13.10.2013 9 26.01.2014
Левенских Александр 28.12.2013 9 18.01.2014
Многочлены
12
Вход: 2 многочлена от нескольких переменных, заданных в математической
форме (т.е. знаки некоторых операций могут отсутствовать).
Выход: Указание ошибки в записи, если таковая присутствовала, иначе
сообщение о совпадении или несовпадении введенных многочленов.
Пилюгина Мария 19.03.2013 12 26.04.2013
Кунгурцев Алексей 10.04.2013 12 13.05.2013
Петрова Ксения 09.05.2013 10 05.06.2013
Истомин Антон 13.05.2013 12 10.06.2013
Виноградова Ольга 31.05.2013 2 01.06.2013
Гусева Зинаида 08.06.2013 10 08.06.2013
Деньгина Елена 03.07.2013 10 12.11.2013
Максим Кузнецов 19.12.2013 10 20.01.2014
Палиндромы
8
Вход: текст на русском языке.
Выход: все палиндромы, построенные из слов данного текста.
Бабкина Евгения 19.03.2013 6 25.05.2013
Кунгурцев Алексей 21.03.2013 8 29.04.2013
Былинина Юлия 18.04.2013 8 18.05.2013
Перевощиков Павел 02.05.2013 6 01.06.2013
Деньгина Елена 02.05.2013 8 06.10.2013
Руднев Владимир 02.05.2013 7 14.10.2013
Муфлихонова Алина 25.05.2013 8 09.02.2014
Смеловская Татьяна 13.10.2013 7 28.10.2013
Кроссворд
15
Вход: список слов и геометрия (описание внешнего вида кроссворда).
Выход: заполненный кроссворд (сообщение об ошибке, если заполнить невозможно).
Примечание: словарь - ftp://shannon.usu.edu.ru/perl/data/ruwords.zip.
Максим Кузнецов 29.04.2013 15 08.05.2013
Сбоев Андрей 20.05.2013 10 05.06.2013
Трифонова Анастисия 25.05.2013 10 06.06.2013
Телятникова Мария 25.08.2013 15 14.11.2013
Надежда Иванова 01.10.2013 15 21.10.2013
Пастухова Даша 14.10.2013 10 30.10.2013
Вахитов Александр 12.11.2013 15 18.01.2014
Отладчик
25
Вход: программа на языке Perl.
Отладчик должен предоставить интерфейс пользователя, который позволяет
проделывать стандартные операции: просмотр текста программы, установка/снятие
точек останова (breakpoints), просмотр значения переменных (watch), пошаговое
выполение программы (trace), просмотр стека вызовов (call stack).
Ефанов Никита 25.01.2014 7 26.01.2014
Старцев Константин 26.01.2014 12 26.01.2014
Игра

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

поддавки 17
Нагайцев Дмитрий 12.09.2013 10 28.01.2014

реверси 17
Зайнуллина Алсу 29.03.2013 12 18.05.2013
Камалова Алма 05.09.2013 17 25.04.2014
Васильева Вероника 07.09.2013 17 25.04.2014
Карпова Ольга 09.09.2013 12 30.09.2013
Пилюгина Мария 06.11.2013 17 04.12.2013
Мазаева Анастасия 05.12.2013 10 19.12.2013
Петрова Наталья 04.03.2014 17 25.04.2014

100-клеточные шашки 17
Зайков Михаил 21.05.2013 1 05.06.2013
Перевощиков Павел 25.05.2013 10 26.01.2014
Старцев Константин 09.09.2013 12 28.10.2013
Каргапольцева Екатерина 17.10.2013 10 27.01.2014
Трифонова Анастисия 22.01.2014 6 27.01.2014

шахматы 21
Промах Александр 28.04.2013 14 25.05.2013
Чаплыгин Антон 19.09.2013 14 14.10.2013
Жиров Евгений 15.10.2013 21 12.12.2013
Кузнецов Василий 24.11.2013 21 09.01.2014
Елькин Евгений 02.01.2014 18 28.01.2014
Кондрашин Никита 27.02.2014 18 13.03.2014
Лабиринт
10
Вход: файл с описанием лабиринта, начальная позиция, позиция выхода из
лабиринта и число бомб.
Выход: кратчайший путь от входа до выхода.
Примечание: бомба способна уничтожить одну стенку (т.е. сделать
смежными две соседние клетки, разделенные стеной).
Вахитов Александр 28.04.2013 10 21.05.2013
Телятникова Мария 01.05.2013 10 05.06.2013
Кунгурцев Алексей 02.05.2013 10 25.05.2013
Пастухова Даша 06.09.2013 10 25.09.2013
Мазаева Анастасия 14.10.2013 10 31.10.2013
Карпенко Алеся 20.03.2014 10 04.04.2014
Дефрагментация
19
Вход: таблица FAT некоторого жесткого диска.
Выход: Последовательность переноса кластеров, решающая задачу
дефрагментирования за минимальное число переносов.
Примечание: исходная таблица FAT может содержать ошибки (потерянные
кластеры, пересекающиеся цепочки).
Вахитов Александр 04.01.2014 10 21.01.2014
Аксёнова Наталья 22.01.2014 15 13.02.2014
Сортировки
15
Реализовать несколько алгоритмов сортировки массивов (квадратичные, Шелла,
Хоара, пирамидальная, слиянием) и сравнить их (числа сравнений и перестановок,
устойчивость, время работы) между собой и со встроенной функцией sort.
Телятникова Мария 19.02.2013 15 02.04.2013
Ефанов Никита 12.03.2013 15 18.05.2013
Надежда Иванова 21.03.2013 15 21.10.2013
Муфлихонова Алина 11.04.2013 15 02.04.2014
Карпенко Алеся 06.05.2013 1 31.05.2013
Семенова Елена 18.07.2013 15 17.08.2013
Левенских Александр 28.08.2013 15 18.09.2013
Смеловская Татьяна 05.10.2013 9 26.01.2014
Жизнь
15
Написать программу, позволяющую задать начальную позицию, прокрутить время вперед,
проверить на отсутствие предыдущей позиции (сад Семирамиды).
Примечание: данная программа предполагает визуализацию при помощи модуля Tk.
Прокофьев Михаил 15.04.2013 14 27.01.2014
Кузнецов Василий 19.04.2013 15 08.05.2013
Нагайцев Дмитрий 23.04.2013 11 26.05.2013
Сакрюкин Леонид 12.05.2013 15 31.05.2013
чухарев александр 27.09.2013 5 21.10.2013
Усков Михаил 23.10.2013 15 04.12.2013
Максим Кузнецов 21.11.2013 15 09.01.2014
Раскраска карты
16
Вход: описание стран на карте множеством отрезков (страна - многоугольник).
Выход: минимальное число цветов, необходимое для раскраски данной карты
(т.е. 2 соседних страны не могут быть одного цвета), и соответствующая раскраска.
Примечание: данная программа предполагает визуализацию при помощи модуля Tk.
Жиров Евгений 22.08.2013 16 14.10.2013
Ефанов Никита 29.08.2013 12 26.12.2013
Бадьина Анастасия 31.08.2013 10 26.12.2013
Трифонова Анастисия 15.10.2013 16 31.12.2013
Карпова Ольга 26.11.2013 13 26.12.2013
Пилюгина Мария 30.12.2013 16 18.01.2014
Сетевые сервисы

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

POP3 12
Елькин Евгений 18.05.2013 10 06.06.2013
Былинина Юлия 19.05.2013 3 01.06.2013
Карпова Ольга 11.10.2013 4 21.10.2013
Зайнуллина Алсу 14.10.2013 10 03.12.2013
Семенова Елена 14.10.2013 1 06.11.2013
Смеловская Татьяна 14.10.2013 12 26.01.2014
Перевощиков Павел 24.10.2013 10 26.01.2014
Васильева Вероника 26.03.2014 12 25.04.2014

SMTP 12
Усков Михаил 06.05.2013 12 23.05.2013
Руднев Владимир 23.10.2013 3 11.11.2013
Аксёнова Наталья 06.11.2013 5 04.12.2013
Чаплыгин Антон 11.11.2013 12 12.12.2013
Муфлихонова Алина 22.01.2014 12 02.04.2014
Петрова Наталья 18.04.2014 11 16.05.2014

FTP 12
Задворных Роман 24.09.2013 1 23.10.2013
Дворецкий Виктор 05.12.2013 12 27.01.2014
Каргапольцева Екатерина 04.01.2014 6 27.01.2014

NTP 7
Бабкина Евгения 13.05.2013 6 03.12.2013
Злобин Сергей 24.11.2013 7 22.12.2013
Бадьина Анастасия 19.12.2013 4 26.12.2013
Кузнецов Василий 15.01.2014 7 19.01.2014
Гусева Зинаида 24.01.2014 7 28.01.2014
Лебедев Никита 25.01.2014 7 12.02.2014

DNS 14
Прокофьев Михаил 08.11.2013 14 16.12.2013
Промах Александр 11.11.2013 14 26.01.2014
Вяцков Михаил 26.01.2014 14 27.01.2014
Копнин Андрей 26.01.2014 14 28.01.2014

BitTorrent 25
Жиров Евгений 09.09.2013 25 28.10.2013
Чат
15
Написать программу-чат для произвольного числа пользователей (децентрализованную).
Антропов Дмитрий 21.05.2013 10 29.05.2013
Бердышев Станислав 28.05.2013 10 05.06.2013
Петрова Наталья 30.05.2013 12 16.05.2014
Кондрашин Никита 08.11.2013 15 01.03.2014
Елькин Евгений 08.12.2013 13 28.01.2014
Дворецкий Виктор 28.12.2013 14 29.01.2014
Разбор графических файлов

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

BMP 15
Вяцков Михаил 12.03.2013 15 08.05.2013
Старцев Константин 29.04.2013 15 29.05.2013
Истомин Антон 11.11.2013 15 26.12.2013
Злобин Сергей 01.01.2014 15 27.01.2014
Аксёнова Наталья 07.01.2014 15 19.01.2014
Сбоев Андрей 15.01.2014 15 18.01.2014
Копнин Андрей 13.05.2014 8 26.05.2014

GIF 14
Жиров Евгений 12.03.2013 14 09.05.2013
Чаплыгин Антон 12.03.2013 14 26.09.2013
Бадьина Анастасия 17.05.2013 11 12.12.2013
Задворных Роман 18.12.2013 7 16.01.2014

JPEG 17

PNG 14
Дворецкий Виктор 12.03.2013 14 09.05.2013
Каргапольцева Екатерина 25.09.2013 6 14.10.2013
Лебедев Никита 22.11.2013 6 12.12.2013
Шиварев Евгений 24.02.2014 14 19.03.2014