Дана программа, способная угадать загаданное нами число при помощи вопросов: Ваше число...

0 голосов
24 просмотров

Дана программа, способная угадать загаданное нами число при помощи вопросов: Ваше число больше или меньше такого-то... Программа не способна угадать число - 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.


Информатика (191 баллов) | 24 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Не знаю чего именно там хотели, но так программа работает и при 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.

(55.0k баллов)