скалогрыз писал(а):шифруется xor, архивируется inflate (zlib)
сам принцип хранения "задание+правильный ответ" небезопасен.
я прекрасно понимаю, что создавать 2 файла ужасно трудоёмко, с точки зрения учителя. К тому же формат "правильных ответов" должен быть оговорён. А средств для создания такого файла нет (нужно писать редактор). с 2мя файлами
вроде бы куча ненужных проблем.
На самом деле 2ой файл, может генерироваться самой программой-тестом (либо приложением к ней).
Т.е. учитель составляет тестовый файл (где помечает правильные ответы скажем "[правильно]") после чего, утилита вырезает все вхождения "[правильно]" из текстов задания, записывая варианты в отдельный файл.
Собственно всё... и ничего даже сживать и шифровать не нужно! Что имеет свой плюс - тест можно просмотреть в том же wordpade или на Linux
ну это так - троллинг и мысли вслух! не нужно обращать внимание!
1. Вышесказанное справедливо только для очень простых программ, там где тест делается в каком-либо текстовом редакторе (блокнот, вордпад,..) и правильные ответы просто тупо помечаются как-то (+-, тегами какими-то)... То тут по любому да - открыл файл текстовый и все видно.
2. НО если в программе используется свой редактор тестов, то зачем лепить то что сказано в п.1 Все и так храниться отдельно (в пределах файла) и не читается блокнотом, вордпадом и т.д.
3. У меня например каждое задание теста - объект класса задание, он в зависимости от типа задания хранить/выдает нужную инфу, причем отдельно. Так же он умеет сохраняться в потоки, в буфер обмена, загрузажатся..., преобразовываться из одного типа в другой учитывая что было и станет... А сам файл это уже все объекты сохраненные в нем и т.д. ... Т.е. нету текстового файла где можно посмотреть ответы.
4. Концепция двух файлов не жизнеспособна. Это не удобно! Идет учитель на работу, несет 10 тестов, надо чтобы были все 20 файлов... А то пришел с тестом а без результатов
К тому же еще в первых версиях своей программы делал такую фишку: тест отдельно, режим прохождения отдельно (т.н. заголовочные файлы, из Си навеело), чтобы типа был один тест, а режим прохождения можно было выбрать по заголовочному файлу. Т.е. было 2 и при желании более файлов. Они тоже как-то хоть и просто, но шифровались... Это оказалось на теории хорошо, на практике я сам забил на эти файлы потому что не удобно вместо одного два таскать...
5. Только клиент-северный режим работы не есть хорошо в реальности. А знаю много школ, и во многих из них нет сетки. Реальнее надо быть. Учитывать что есть в реальных школах. Клиент-сервер должен быть одной из возможностей, а не режимом работы программы.