Утилита для сохранения версии файлов, находящихся в каталоге, и восстановления содержимого по номеру версии.
Функции утилиты:
- Сохранение текущего содержимого файлов. Версии присваивается номер, комментарий и дата.
- Просмотр сохраненных версий
- Восстановление сохраненной версии. Содержимое каталога должно стать таким же как было во время сохранения указанной версии.
Утилита для перемещения файлов из одного каталога в другой. В качестве аргументов задаются исходный и целевой каталог. После перемещения утилита выдает отчет о перемещени.
Алгоритм перемещения следующий:
- Если файл есть в исходном каталоге и отсутствует в целевом, то переместить файл
- Если файл есть также и в целевом каталоге, то сравнить их побайтово:
- Если содержимое одинаково, то удалить файл из исходного каталога
- Если файл в целевом каталоге короче исходного, и при этом совпадает с началом исходного, то заменить целевой файл исходным
- Если файл в исходном каталоге короче исходного, и при этом совпадает с началом целевого, то удалить исходный файл
- В других случаях добавить сообщение о файле в отчет и ничего не делать с файлами
- Если подкаталог есть в исходном каталоге и отсутствует в целевом, то переместить подкаталог
- Если подкаталог есть также и в целевом каталоге, то рекурсивно зайти в него и обработать содержимое по этому же алгоритму
Реализовать приложение для составления поискового индекса для набора документов и поиску по нему.
Необходимые функции:
- Добавление текстового файла в индекс
- Добавление каталога в индекс
- Исключение файла из индекса
- Загрузка и сохранение индекса в файл
- Перестроение индекса
- Поиск в проиндексированных документах по введенному слову. Приложение должно выводить имена файлов и номера строк, в которых встречается введенное слово.
Например:
> обычно
Файл: doc1.txt, строка: 42
Файл: stihi.txt, строка: 175
Приложение для проведение викторин или тестирования. При запуске читает указанный файл и задает вопросы из него в случайном порядке. После ответа на все вопросы выдает набранное количество баллов.
Содержимое файла:
- Название викторины
- Сколько вопросов из базы нужно задать
- Количество баллов для выигрыша/прохождения теста
- База вопросов
Каждый вопрос в базе имеет тип, текст вопроса, варианты ответа с баллами за этот ответ.
Типы вопросов:
- Выбор одного из нескольких вариантом
- Выбор нескольких вариантов
- Поле для ввода строки
Файл должен быть защищен от прочтения через текстовый редактор (например зашифрован).
Дана последовательность из 8 цифр. Нужно расставить между ними знаки арифметических операций так, чтобы получилось число 100. Нужно решить задачу используя многопоточное программирование.
Возможные операции: + - * /
Пример: 98765432
Результат
98+7+6-5-4*3/2=100
98+7-6-5+4*3/2=100
98+7-6*5/4/3*2=100
98+7*6+5-43-2=100
98+7*6-5/4*32=100
...
Утилита для копирования файла через локальную сеть.
Режимы работы:
- утилита слушает на указанном порту и при подклюении передает указанный файл
- утилита слушает на указанном порту и при подклюении принимает файл
- утилита подключается на указанный ip и порт и передает указанный файл
- утилита подключается на указанный ip и порт и принимает файл
Также должна быть функция проверки доступа (например проверка пароля при подключении клиента)
Утилита для генерации изображения-капчи (captcha).
https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BF%D1%87%D0%B0
Передаваемые параметры:
- Ширина и высота изображения
- Текст изображения
- Имя файла
При генерации необходимо использовать минимум 5 эффектов (например сдвиг букв, масштабирование, размытие, наложение и т.д.)