Показать сообщение отдельно
Старый 28.12.2006, 18:00   #24
Ur-Quan
Senior Member
 
Аватар для Ur-Quan
 
Регистрация: 06.04.2006
Адрес: Москва
Сообщения: 258
Поблагодарил(а): 19
Поблагодарили 30 раз(а) в 13 сообщениях
Отправить сообщение для  Ur-Quan с помощью ICQ
По умолчанию О строках и подстроках

Итак, пусть игрок перед ответом вводит фразу "Я думаю, что это...". Или даёт слишком длинный ответ ("Памятник Петру Первому "Медный всадник"). Исходя из обычного сравнения строк и даже с учётом проектирования ответ не может быть засчитан. Тут нужно выработать более общую методику.
Strel и ещё кто-то предлагают искать ответ по наличию подстроки. Скажем, ищем в ответе игрока корень искомого слова и, если он там обнаружен, засчитываем ответ.
В терминах проекций мы получим следующее. Ищется наиболее длинная общая подпоследовательность в авторском ответе и в строке. Затем длина этой подпоследовательности делится на длину авторского ответа. если полученный результат оказался равен единице, то, очевидно, ответ обнаружен в строке целиком. Если результат меньше единицы, то ответ обнаружен лишь частично.
Несомненно, надо делать анализ ответа более ЛИБЕРальным для того, чтобы избегать несправедливых незачётов. Но при этом ни в коем случае не должно возникать несправедливых же зачётов.
Поэтому если в строке наравне с правильным ответом обнаружено и наличие заведомо неправильного, то ответ должен быть незачтён. Вопрос лишь в том, что считать заведомо неправильным и как это указывать...
В настоящее время нет возможности указать ВСЕ возможные неправильные ответы. Поэтому ввод анализа на наличие подстроки представляется мне пока сомнительным и ненадёжным. Впрочем, как скажете...
__________________
"О друг мой, Аркадий Николаич! Об одном прошу тебя: не говори красиво."
Ur-Quan вне форума   Ответить с цитированием