25 lines
2.3 KiB
Plaintext
25 lines
2.3 KiB
Plaintext
Практическое задание 3. Обработка файлов в Haskell
|
||
№ 20
|
||
|
||
Создать проект в stack. Все чистые функции записать в библиотеку Lib.hs и ограничить
|
||
доступ к вспомогательным функциям. Использовать do-нотацию для работы с внешними
|
||
файлами. Найти портрет указанного человека:
|
||
Дойч, Дэвид
|
||
|
||
Перевести изображение в формат .bmp (24-разрядный), при необходимости изменить
|
||
ширину и высоту изображения без искажений. Сохранить в файл формата .txt фрагмент
|
||
биографии (не менее 1000 символов без пробелов, текст не должен обрываться на середине
|
||
слова или предложения). Закодировать текст в изображение методом:
|
||
Шифром Цезаря. Смещение задается пользователем
|
||
|
||
Ключ к шифру записывается в имя файла. Написать функцию расшифровывающую текст
|
||
из изображения используя ключ из имени файла и сохраняющую результат в отдельный
|
||
текстовый файл.
|
||
Создать функции шифрующие текст в последний бит каждого байта, последние два бита
|
||
каждого байта, …, все биты в байте. В отчете привести примеры искажений изображения.
|
||
|
||
Задача со звездочкой*: Разобрать сложный формат данных с использованием библиотек
|
||
доступных в Hackage. Зашифровать и расшифровать данные.
|
||
|
||
Задача с двумя звездочками**: Разобрать сложный формат данных самостоятельно
|
||
используя только стандартные библиотеки. Зашифровать и расшифровать данные. |