котором выбирается средняя точ
Автор admin Среда, 6 мая 2009 11:32
котором выбирается средняя точка в интервале искомых чисел. По ответу «больше-меньше» угадывающий определяет, 64 Глава 2 • Защитное программирование в какой половине интервала находится искомое число, после чего процесс повторяется. При каждой итерации размер интервала поиска уменьшается вдвое. Как же должен выглядеть правильный цикл угадывания числа? Поскольку зловредный пользователь может солгать, и дальнейшее угадывание затянется до бесконечности, недостаточно просто написать: bool guessed = false; while(!guessed) { } Какое предположение, каким бы простым оно ни было, делается при каждой итерации? Иначе говоря, какое условие благодаря архитектуре приложения должно автоматически выполняться при каждой итерации цикла? Это простое предположение заключается в следующем: загаданное число принадлежит текущему активному интервалу непроверенных чисел. Обозначим конечные точки этого интервала переменными low и high. Если в начале каждой итерации число принадлежало интервалу [low, high], то в конце ее мы вычисляем новый интервал так, чтобы он по-прежнему содержал загаданное число. Наша цель — выразить инвариа
Комментарии закрыты.
Последние комментарии