Часто в задачах требуется выполнить различные действия с большим количеством чисел. В таких случаях вводить все числа становится просто неудобно и долго. Для этого в Паскале придуман генератор случайных чисел — оператор random.
От программиста лишь требуется задать числовые промежутки ( например от 2 до 50 ), все остальное программа выполнит сама. Итак как добавить к коду программы оператор random.
Для начала необходимо предварительно описать оператор (то есть фактически мы сообщаем программе, что будет использован генератор случайных чисел). Для этого необходимо ввести оператор randomize в промежутке после begin и до random (обычно оператор randomize ставят сразу после begin, так как это упрощает чтение кода). Затем идет присвоение оператора random к выбранной переменной. Делается это так:
Для Turbo Pascal
оператор:= random (max-min+1)+min;
- оператор — любая переменная
- min — целое число , не превышающее max
- max — целое число, большее min
Здесь min и max являются диапазонами генератора случайных чисел. Теперь для наглядности пример генератора случайных чисел от 2 до 5 .
var x:integer;
begin
randomize;
x :=random (4)+2;
end;
Здесь 4 — это результат выражения 5-2+1.
Для Pascal ABC
Здесь можно применять оператор random так же как и для Turbo Pascal, однако есть еще один вариант, более простой в использовании.
оператор:= random (min,max);
- оператор — любая переменная
- min — целое число, не превышающее max
- max — целое число, большее min
Чтобы разница лучше просматривалась решим тот же пример генератора случайных чисел от 2 до 5 этим способом.
var x:integer;
begin
randomize;
x :=random (2,5);
end;
Как уже стало заметно второй способ гораздо проще, однако его можно использовать только в Pascal ABC. А для тех, кого интересует код программы, где используется рандом без повтора генерируемых чисел я написал этот пост. В нем при генерации каждого числа происходит сравнение с предыдущем числом.