Спасите девушку от двойки. Напишите пожалуйста программу:
Запрограммировать игру «Угадай число». Программа с помощью генератора случайных чисел выбирает целое число в диапазоне от 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.
It's a long way to the top if you wanna rock'n'roll
- Колядин Максим
- Сообщения: 285
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Никто не застрахован от ошибок, даже такой опытный программист, как Хыиуду. Но бывают такие неблагоприятные деньки, когда голова совсем "не в ту степь" думает-)]Хыиуду писал(а):Хыиуду, вроде опытный программист, а такие нелепые ошибки.
uses crt;
var c,x,attempt: integer;{с-введённое число; x-загаданное; attempt - кол-во попыток}
begin {начать}
clrscr;
randomize; {инициализируем генератор случайных чисел}
x:=random(10); {загаданное число от 0 до 9}
attempt:=1; {первая попытка}
repeat {повторяем...}
writeln('Попытка №',attempt);
write('Введите число: '); readln(c); {вводим число}
if (c>9) or (c<0) then begin
writeln('Будь внимательнее!'); {контролируем выход за пределы интервала}
continue
end;
if c>x then writeln('Перебор!') else if c<x then writeln('Слишком мало...');
{если введенное число больше загаданного, написать "Перебор", иначе, "Слишком мало..."}
inc(attempt); {увеличиваем число использованных попыток}
until (c=x) or (attempt>3); {завершаем цикл, если загаданное число равно введённому, или если использовано больше трёх попыток}
If c=x then write('Поздравляем! Вы угадали число с ',attempt,' попытки!')
else
write('Вы проиграли...');
{если загаданное число равно введённому, тогда написать "Поздравляем...", иначе, "Вы проиграли..."}
readkey; {пауза}
end.
[/code]
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
-
- Сообщения: 6
- Зарегистрирован: 23 мар 2007, 12:24
Спасибо большое. только два я видимо получу. они требуют написать все через процедуру и функцию.
- Колядин Максим
- Сообщения: 285
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Эта проблема легкорешаема:Небо Принстона писал(а):Спасибо большое. только два я видимо получу. они требуют написать все через процедуру и функцию.
Код: Выделить всё
uses crt]
Сама сказала с процедурами и функциями, хотя они здесь не очень нужны...
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
А в чем ошибка? Это как раз из серии "левые штучки". Если выход из цикла будет естественным путем, а не через break, значение count будет равно 4. Можно проверить.
А насчет Begin согласен - мой косяк. Это уже начинаются заглюки с Python, где нету бегинов и эндов, а операторные скобки делаются путем добавления пробелов в начале строки.
А насчет Begin согласен - мой косяк. Это уже начинаются заглюки с Python, где нету бегинов и эндов, а операторные скобки делаются путем добавления пробелов в начале строки.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Вот это уже точно "левые" штучки. Видно ты с чем-то путаешь" писал(а):А в чем ошибка? Это как раз из серии "левые штучки". Если выход из цикла будет естественным путем, а не через break, значение count будет равно 4. Можно проверить.
Код: Выделить всё
var i:byte;
begin
for i:=1 to 3 do
writeln(i);
Writeln(i);
end.
Код: Выделить всё
1
2
3
3
It's a long way to the top if you wanna rock'n'roll
У меня ровно с тем же кодом (только выводил через Memo1.Lines.Add() ) получилось
1
2
3
4
Дельфи 7.0
1
2
3
4
Дельфи 7.0
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
На Дельфи - согласен, но вот (uses crt в проге, говорит о Паскале - а там немного по-другому.
It's a long way to the top if you wanna rock'n'roll