![]() |
Добро пожаловать, гость ( Вход | Регистрация )
![]() |
Black |
![]()
Сообщение
#1
|
![]() Администратор ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 2 414 Регистрация: 24.11.2006 Из: Москва Пользователь №: 1 ![]() |
помните японский аналог волка козы и капусты?
какие задачи с нашего сайта можно похожим образом визуализировать? |
![]() ![]() |
Alexandroppolus |
![]()
Сообщение
#2
|
![]() Активный участник ![]() ![]() ![]() Группа: Модераторы BrainGames Сообщений: 973 Регистрация: 25.10.2009 Пользователь №: 17 196 ![]() |
Игра с разменными монетами. Тут явно всё не так просто.
|
Лиходей |
![]()
Сообщение
#3
|
Участник ![]() ![]() Группа: Пользователи Braingames Сообщений: 174 Регистрация: 9.12.2008 Пользователь №: 11 533 ![]() |
А как на счёт автоматической проверки ответов? Например на базе JavaScript.
Возьмём к примеру шахматные задачи. Под них можно написать универсальную "программку" на базе этой. Справа добавляется лог ходов. Некоторые из ходов могут быть зафиксированы (согласно условиям задачи). Пользователь делает недостающие ходы, пробуя то или иное решение задачи. Потом все ходы и вся ситуация автоматически проверяется на корректность по заложенным в коде шахматным правилам. Если все требуемые ходы есть, и нету ошибок, то задача решена верно. Получаем 1) В коде НЕ содержится ответ. 2) Необходима проверка ответа на стороне сервера, серверный JavaScript. 3) Всё очень наглядно. Где-то половина всех шахматных задач может быть проверена с помощью универсальной шахматной "программы". "Исчезнувший король" - тоже можно проверять автоматически, если допилить код конкретно под задачу. Можно пойти ещё дальше, и дать возможность пользователям программировать. А точнее, писать алгоритмы. Возьмём к примеру задачи на взвешивания. Пользователь заходит в задачу, видит перед собой весы, видит перед собой 8 монет, и пишет грубо говоря что-то типо такого: Весы.ПоложитьНаПервуюЧашу(1,2,3) Весы.ПоложитьНаВторуюЧашу(4,5,6) Весы.Взвесить Если Весы.ЛеваяЧашаТяжелее Тогда Весы.Положить .... Весы.Положить ... Весы.Взвесить Если Весы.ЛеваяЧашаТяжелее Тогда Ответ(8) Конец Если Подобный яваскрипт код через eval выполняется в браузере пользователя. Заложенный код контролирует количество взвешиваний, возвращает результаты взвешиваний, проверяет верность ответа. Пользователь может видеть результат работы программы, когда какие взвешивания происходят, и где находится фальшивая монета. Проверка верности ответа выполняется быстрым прогоном нескольких начальных условий (какая из монет фальшивая). Начальные условия для проверки могут быть все возможные, либо какой-то контрольный набор данных, либо например случайные. Да и в принципе просматривается некоторая закономерность - чем тяжелее задача проверяется, тем более она подходит именно для автоматической проверки. Например, задача с камнями со второго турнира. Я бы сие всё сделал, да не хватает опыта хтмл+цсс+яваскрипт+анимация. Чёт слишком сумбурно получилось -------------------- F7F7EE
EFEFDF |
idler_ |
![]()
Сообщение
#4
|
![]() Лентяй ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Braingames Сообщений: 8 665 Регистрация: 22.4.2007 Пользователь №: 211 ![]() |
Пользователь делает недостающие ходы, пробуя то или иное решение задачи. Потом все ходы и вся ситуация автоматически проверяется на корректность по заложенным в коде шахматным правилам. Если все требуемые ходы есть, и нету ошибок, то задача решена верно. Отсутствует доказательство невозможности других ходов. Пользователь заходит в задачу, видит перед собой весы, видит перед собой 8 монет, и пишет грубо говоря что-то типо такого: Нет доказательства оптимальности алгоритма. Да и в принципе просматривается некоторая закономерность - чем тяжелее задача проверяется, тем более она подходит именно для автоматической проверки. Абсолютно не так. Связи с простотой нет. Скорее есть связь с отсутствием обоснования (достаточно верного ответа), но таких задач на сайте единицы. Например, задача с камнями со второго турнира. Да, подходит. Но только в том случае, если турнир программистский) Сколь бы очевидным программисту ни казалось описание алгоритма в каком-либо виде, для других это тёмный лес, им проще описать своими словами. -------------------- Я - человек-простой
|
![]() ![]() |
![]() |
Упрощённая версия | Сейчас: 19.7.2025, 22:10 |