Запрограммировать игру «Угадай число». Программа с помощью генератора случайных чисел выбирает целое число в диапазоне от 0 до 9. Угадать это число за три попытки. После каждой попытки сообщается больше или меньше названное число задуманного.

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
Код: Выделить всё
uses crt;
var x,count,i:byte;
begin
randomize;
x:=random(10);
for count:=1 to 3 do
begin
writeln('Введите число');
readln(i);
if i>x then writeln('Ваше число больше')
else if i<x then writeln('Ваше число меньше')
else begin writeln('Вы угадали!'); break;end;
end;
if count>3 then writeln('Вы проиграли!') else writeln('Вы выиграли!');
readln;
end.
Хыиуду, вроде опытный программист, а такие нелепые ошибки. Нет Begin к тому-же в цикле For." писал(а):if count>3
Код: Выделить всё
uses crt;
var x,count,i:byte;
begin
randomize;
x:=random(10);
count:=1;
repeat
writeln('Введите число');
readln(i);
if i>x then writeln('Ваше число больше')
else if i<x then writeln('Ваше число меньше');
inc(count);
until (i=x) or (count>3);
if i<>x then writeln('Вы проиграли!') else writeln('Вы выиграли!');
readln;
end.
Никто не застрахован от ошибок, даже такой опытный программист, как Хыиуду. Но бывают такие неблагоприятные деньки, когда голова совсем "не в ту степь" думает-)]Хыиуду писал(а):Хыиуду, вроде опытный программист, а такие нелепые ошибки.
Эта проблема легкорешаема:Небо Принстона писал(а):Спасибо большое. только два я видимо получу. они требуют написать все через процедуру и функцию.
Код: Выделить всё
uses crt]
Сама сказала с процедурами и функциями, хотя они здесь не очень нужны...
Вот это уже точно "левые" штучки. Видно ты с чем-то путаешь" писал(а):А в чем ошибка? Это как раз из серии "левые штучки". Если выход из цикла будет естественным путем, а не через break, значение count будет равно 4. Можно проверить.
Код: Выделить всё
var i:byte;
begin
for i:=1 to 3 do
writeln(i);
Writeln(i);
end.
Код: Выделить всё
1
2
3
3