информатика

Дана программа, способная угадать загаданное нами число при помощи вопросов: Ваше число больше или меньше такого-то... Программа не способна угадать число - 50. Для исправления ошибки необходимо заменить одну или две переменных. Особое внимание обращается на тот факт, что в начале в условии допускается 5 различных значений. Однако переменная - x в программе не используется. var a,b,x,y,z:integer;  begin  writeln('1-да, 0-нет');  z:=0; a:=1; b:=100;  while b-a>1 do begin  z:=((a+b)div 2);  writeln('число больше ', z);  readln(y);  if y=1 then a:=z  else b:=z;  end;  writeln('Ваше число ', z);  end.

Оставить ответ
1

Ответ №1

Не знаю чего именно там хотели, но так программа работает и при 50

var
    a, b, y, z: integer;

begin
    writeln('1-да, 0-нет');
    a := 1;
    b := 100;
   
    while b - a > 0 do
    begin
        z := (a + b) div 2;
        writeln(' число больше ', z);
        readln(y);
        if y = 1 then
            a := z + 1
        else
            b := z;
    end;
   
    writeln('Ваше число ', a);
end.

Знаете ответ?