diff --git a/lab3/task.txt b/lab3/task.txt new file mode 100644 index 0000000..c782a55 --- /dev/null +++ b/lab3/task.txt @@ -0,0 +1,25 @@ +Практическое задание 3. Обработка файлов в Haskell +№ 20 + +Создать проект в stack. Все чистые функции записать в библиотеку Lib.hs и ограничить +доступ к вспомогательным функциям. Использовать do-нотацию для работы с внешними +файлами. Найти портрет указанного человека: +Дойч, Дэвид + +Перевести изображение в формат .bmp (24-разрядный), при необходимости изменить +ширину и высоту изображения без искажений. Сохранить в файл формата .txt фрагмент +биографии (не менее 1000 символов без пробелов, текст не должен обрываться на середине +слова или предложения). Закодировать текст в изображение методом: +Шифром Цезаря. Смещение задается пользователем + +Ключ к шифру записывается в имя файла. Написать функцию расшифровывающую текст +из изображения используя ключ из имени файла и сохраняющую результат в отдельный +текстовый файл. +Создать функции шифрующие текст в последний бит каждого байта, последние два бита +каждого байта, …, все биты в байте. В отчете привести примеры искажений изображения. + +Задача со звездочкой*: Разобрать сложный формат данных с использованием библиотек +доступных в Hackage. Зашифровать и расшифровать данные. + +Задача с двумя звездочками**: Разобрать сложный формат данных самостоятельно +используя только стандартные библиотеки. Зашифровать и расшифровать данные. \ No newline at end of file