• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Pascal. Диалоговая программа

  • Автор темы ANTON2527
  • Дата начала
A

ANTON2527

Задача:
Составьте диалоговую программу угадывания случайно выбранных координат цели в квадрате: по оси х от –10 о 30, по оси у от 2 до 28 c восьми попыток с двойным сообщением корректировщика, например: уменьшить Х, либо: немного уменьшить Х (если отклонение от цели меньше 3).

Помогите решить. Заранее спасибо :)
 
N

nayke

Задача:
Составьте диалоговую программу угадывания случайно выбранных координат цели в квадрате: по оси х от –10 о 30, по оси у от 2 до 28 c восьми попыток с двойным сообщением корректировщика, например: уменьшить Х, либо: немного уменьшить Х (если отклонение от цели меньше 3).

Помогите решить. Заранее спасибо ;)

Смотри дихотомический поиск этом случае вопрос задается в форме
X < середины отрезка(например для первого шага Х меньше 10?).
потом так же для Y. получаем меньшую область(половину, четверть 1/8 и т.д.)
после положительных или отрицательных ответов на 8 вопросов будет область 2 на 3 вроде как..
если такой вариант не походит конкретизируй свой пример диалога.
 
A

ANTON2527

Смотри дихотомический поиск этом случае вопрос задается в форме
X < середины отрезка(например для первого шага Х меньше 10?).
потом так же для Y. получаем меньшую область(половину, четверть 1/8 и т.д.)
после положительных или отрицательных ответов на 8 вопросов будет область 2 на 3 вроде как..
если такой вариант не походит конкретизируй свой пример диалога.
Я думаю подойдет ;) Мне бы решение... ;)
 
N

nayke

Я думаю подойдет :) Мне бы решение... :(

for i:=1 to 4 do //раз уж с 8 ходов, хотя можно использовать и условия выхода
begin
writeln('Искомая точка лежит левее? '+ ((x1+x2) div 2) + ' y or n?');
readln(ch);
if ch='y' then x2=(x1+x2) div 2
else x1=(x1+x2) div 2

//тоже самое для y1,y2
end;

в результате получишь x1,x2,y1,y2 - область в которой твоя точка
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!