В чем заключается вопрос: Что такое функция Random() и процедура Randomize в языке Pascal. Как это работает?
Сложность: легкая.
И так что такое random и randomize в pascal?
Randomize — это процедура которая используется в Паскаль для включения генератора случайных чисел.
Функция Random определяет диапазон случайных чисел. Процедура Randomize и функция Random очень часто используются для демонстрации работы массивов в Паскаль.
Т.е. функция random возвращает нам число.
| var a : integer ; ————— a := random( 10 ); |
И тут у нас переменная a может равняться числам от 0 до 9, не 10.
Если мы хотим вывести числа от 0 до 1, то мы пишем следующее :
| var a : integer ; ————— a := random; |
генератор случайных чисел в Паскале (random)
Т.е. random без всего.
Бывают случаи когда хочется иметь промежуток(диапазон) чисел. Допустим от -23 до 5, как его задать ?
Для начала мы складываем 23 и 5 без учета знаков и прибавляем 1(всегда) , у нас будет 29. Теперь пишем
| var a : integer ; ————— a := random( 29 ); |
Но это вернет нам числа от 0 до 28, теперь просто надо вычесть 23, не учитывая знаков. Так для промежутка c отрицательными числами.
С двумя положительными числами всё наоборот, сначала вычитаем из второго первое и прибавляем 1, мы получаем число, затем к нему прибавляем первое число :
| 5 до 29 = 29 — 5 + 1 = random( 25 ) + 5 — 1 до 13 = 13 + 1 + 1 = random( 15 ) — 1 |
Так же есть формула для всех случаев:
| x := random(max-min+ 1 )+min; // тут уже все знаки учитываются |
Т.е. если нам нужен диапазон отрицательных чисел, например от -5 до -10, то мы пишем:
| // -5 это максимальное значение, потому что оно больше -10, а -10 это минимальное random(- 5 -(- 10 )+ 1 )+(- 10 ) // все знаки учитываются |
В основном random и randomize в pascal используются вместе. Если использовать random отдельно, то у нас будут случайные числа постоянно одинаковы.
Допустим у нас есть код :
| var a : integer ; begin a := random( writeln readln; |
Урок 9. Паскаль с нуля. Генератор случайных чисел. Random
И при запуске программы у нас выведется допустим 3. И если мы запустим заново, то у нас снова выведется 3 и так при каждом запуске.
Для этого и используется randomize, чтобы числа не повторялись :
| var a : integer ; begin randomize; a := random( writeln readln; |
Если мы это напишем, то у нас функция random каждый раз при запуске программы будет выдавать разные числа.
Источник: sprint-olympic.ru
Как работает программа рандом в паскале
- Вы здесь:
- Home

- Библиотека

- Языки программирования

- Pascal

- Pascal: random — случайные числа
Последние новости
- Идеи (записки на полях)
- Переделка камеры QVC-IPC-136W (РосТелеком) в Dahua HD-IPC-c12p (IMOU IPC-C12)
- Электронное портфолио в социальной сети
- SCRUM
- ВЛАСТЬ: ПараЛЛельная реальность через отчёты
- Про instagram и Г-ТВ
- Идея: Обучающие игры во ВКонтакте 2
- Диссонанс системы образования в России
- Googling
- Мысли вслух: Расширение полномочий учителей.
Рейтинг
Статистика
Пользователи 7 Материалы 499 Кол-во просмотров материалов 2623879
Pascal: random — случайные числа
Информация о материале Опубликовано: 10 августа 2021 Просмотров: 74
Процедура Randomize используется в Паскаль для включения генератора случайных чисел. Функция Random определяет диапазон случайных чисел. Процедура Randomize и функция Random очень часто используются для демонстрации работы массивов в Паскаль.
Процедура Randomize инициализирует (включает) генератор случайных чисел.
Рассмотрим работу функции random на примере:
a := random(1000);
Здесь мы присваиваем переменной a случайное число в диапазоне от 0 до 999 (т.е. от 0 до 1000, но, не включая число 1000) с помощью функции Random.
Т.е. запись (1000) означает, что все сгенерированные числа будут не меньше 0 и не больше 999. Предположим, что нам необходимо записать другой диапазон чисел, например от -1000 до 1000. В этом случае наша строка будет иметь вид:
a:= random(2001) — 1000.
Т.е. В функции Random записываем сумму модуля минимального и максимального числа и прибавляем к ней 1:
Затем прибавляем минимальное число диапазона (-1000). Таким образом, переменной a будут присвоены случайные числа в диапазоне от -1000 до 1000.
Источник: ulspo.ru
Блог начинающего программиста
Процедура Randomize нужна для того что бы числа не повторялась и при каждой компиляции кода будут разные значения. Немного из хелпа Паскаля.
- procedure Randomize(seed: integer);
Инициализирует датчик псевдослучайных чисел, используя значение seed. При одном и том же seed генерируются одинаковые псевдослучайные последовательности. - function Random(maxValue: integer): integer;
Возвращает случайное целое в диапазоне от 0 до maxValue-1
Что бы с генерировать к примеру от 22 до 64:
var
i, s: Integer;
begin
randomize;
for i := 1 to 64 do
begin
s := random(43)+22;
write(‘ ‘,s);
end;
end.
43 = 0..42
0 + 22 . 42+22 = 22..64
Еще пример, от 100 до 200
var
i, s: Integer;
begin
randomize;
for i := 1 to 64 do
begin
s := random(101)+100;
write(‘ ‘,s);
end;
end.
Источник: codingpas1.blogspot.com