randomize. Играем с компьютером
В любой игре интересен
элемент случайности (и не только игре).
Как компьютер придумывает числа?
Генератор случайных
чисел randomize зависит от текущего времени и выдает случайное число
от 0 до 1.
Оператор генерирует натуральные числа от 0 до b: int((random*b) Оператор генерирует натуральные числа из интервала от a до b: int((random*b) +a) если a=-50, b=100, то интервал [-50, 49]: int((random*100) -50) Оператор генерирует дробные числа из интервала от a до b:
если a=-50, b=100, то интервал [-5,0, 4,9]: int((random*100) -50)/10
С помощью выражения: p:= int((random*b)+a)
Создаем случайное целое число
в заданном интервале.
Напишем тест по математике
для проверки устного счета.
var
a,b,p, m: real;
k:
integer;
begin
cls;
randomize;
a:=1;
b:=100;
p:=
int((random*b)+a);
m:=
int((random*b)+a);
writeln
(p, ' + ',m);
writeln
('сложи два числа ');
while p+m
<> k do
read (k);
if p+m =
k then writeln ('молодец');
end.
|
Цикл с предусловием
Вводи результат до тех пор, пока не станет верно.
|
Создадим
игру «Угадай число»
Стратегия
игры:
Компьютер задумал число, человек предлагает свой вариант,
компьютер сравнивает это число со своим и сообщает больше, меньше или угадал.
var a,b,p,
m: real;
k: integer;
begin
cls;
randomize;
a:=1;
b:=100;
p:=
int((random*b)+a);
writeln (p);
writeln ('компьютер задумал число от 1 до 100, угадай его
');
while
p<> k do
begin
read (k);
if p = k
then writeln ('молодец');
if p > k then writeln ('задуманое число больше');
if p < k then writeln ('задуманое число меньше');
end;
end.
Вариант с подсчетом угадываний:
var a, z,
k: real;
begin
cls;
randomize;
z:=
INT(RanDom * 100 + 1);
writeln ('угадай число от1 до 100');
WHILE z <> a DO
begin
writeln ('Введите число a ');
readln (a);
IF a < z
THEN writeln ('Задуманное число больше ');
IF a > z
THEN writeln ('Задуманное число меньше ');
k:= k + 1;
end;
writeln
('"Угадал за
', k, ' попыток');
end.
|