Pascal Получить случайное число в диапазоне - пример
Primary tabs
Чтобы получить "случайные" числа в Паскале, необходимо:
- сначала инициализировать датчик этих чисел вызовом стандартной процедуры randomize()
- а затем получать очередное случайное число вызовом стандартной функции random(x) - где $x$ - правая граница диапазона $[0..(x-1)]$.
Пример:
var n, i, x: integer; begin randomize(); // инициал. датчик случайных чисел (вызов стандартной процедуры) n := 5; // сколько чисел выводить for i := 1 to n do begin x := random(100) - 50; // из диапапоза она от -50 до 49 writeln(x); // печатаем значение end; end.
В примере выше мы сдвигаем диапазон [0..99], который явно задаёт вызов random(100) с помощью вычитания необходимого значения, например -50 (в данном примере - это сдвиг влево).
- Log in to post comments
- 82914 reads
math2
Wed, 10/14/2015 - 21:39
Permalink
x := random (100) - 50; // из
Здесь диапазон будет от -50 (включительно) до 49 (включительно), так как random(p) выдаёт значения от нуля до p-1, если $p\in\mathbb{N}$.
vedro-compota
Thu, 10/15/2015 - 10:55
Permalink
спасибо!) использовал ваше
math2, спасибо!) использовал ваше замечание как авторитетное, если не секрет - на какой именно стандарт опирались - или экспериментально проверяли?)
обновлено: да, посмотрел - пишут что [0..(x-1)] -вы правы.
_____________
матфак вгу и остальная классика =)
math2
Thu, 10/15/2015 - 11:12
Permalink
Посмотрел в книге Немнюгина
Посмотрел в книге Немнюгина по TurboPascal.
Здесь тоже.