Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 23.10.2007, 01:35   #1
Пользователь
 
Регистрация: 08.08.2007
Адрес: гандурас
Сообщений: 20
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
stirena
По умолчанию рандом в дельфи

народ подскажите мне про функции дельфи
Random
RandomRange
RandSeed
Randomize

Я так понимаю что Random (любое число) всегда при первом вызове равен 0,
как зделать так чтоб было другое число???
stirena вне форума   Ответить с цитированием
Старый 23.10.2007, 01:55   #2
Пользователь
 
Регистрация: 21.10.2007
Сообщений: 42
Сказал Спасибо: 5
Имеет 2 спасибок в 2 сообщенях
Cucumber
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  randomize;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  x : integer;
begin
// 0 <= x < 10
  x := random(10);
// 5 <= x < 15
  x := 5+ random(10);
end;
Cucumber вне форума   Ответить с цитированием
Старый 23.10.2007, 03:44   #3
Рыцарь
 
Аватар для dmitry501
 
Регистрация: 01.10.2007
Сообщений: 293
Сказал Спасибо: 42
Имеет 50 спасибок в 37 сообщенях
dmitry501 пока неопределено
По умолчанию

Из справки по Дельфи
Код:
Random  [( Range:     Integer)]:            real	Возвращает случайные числа X в диапазоне 0 <= X < Range, а если Range не задан, то в диапазоне 0 <= X < 1.Для инициализации начального значения генератора, надо вызвать Randomize или задать значение переменной RandSeed.
Randomize	Задает случайное начальное значение для функции Random.
Цитата:
Random-Функция
Генерирует последовательность целых или действительных случайных чисел


Модуль System

Объявление
function Random (Range: Integer);

Описание
Функция Random генерирует последовательность целых или действительных случайных чисел. Парметр Range не является обязательным. Если этот параметр не задан, то функция возвращает случайные действительные числа X, равномерно распределенные в интервале 0 <= X < 1. Например, оператор


for i:=Low(A) to High(A) do
A[i] := Random;

заполняет массив A равномерно распределенными действительными числами в диапазоне от 0 до 1. Если вам требуются действительные случайные числа X, равномерно распределенные в каком-то другом диапазоне A1 <= X < A2, то такие действительные числа легко получить, сдвинув начальное значение чисел и умножив генерируемые числа на длину интервала. Например, операторы


A1, A2: double;
...
A1 := 50;
A2 := 150;
for i:=Low(A) to High(A) do
A[i] := A1 + (A2 - A1) * Random;

обеспечивают заполнение массива действительными случайными числами X, лежащими в диапазоне 50 <= X < 150.
Если в функции Random задан параметр Range, то функция возвращает случайные целые числа в диапазоне 0 <= X < Range. Например, оператор


for i:=Low(M) to High(M) do
M[i] := Random(101);

заполняет массив M целыми числами, равномерно распределенными в диапазоне от 0 до 100. А оператор


for i:=Low(M) to High(M) do
M[i] := 100 + Random(101);

заполняет массив M целыми числами, равномерно распределенными в диапазоне от 100 до 200.
Для рандомизации генератора Random используется процедура Randomize.

Цитата:
Randomize - процедура

Рандомизирует генераторы случайных чисел


Модуль System

Объявление
procedure Randomize;

Описание
Процедура Randomize рандомизирует функции генерации случайных чисел Random и RandG. Если не использовать процедуру Randomize, то при каждом запуске на выполнение функции Random и RandG будут генерировать одинаковые последовательности квазислучайных чисел. Если же вставить в код процедуру Randomize, например, в событии OnCreate формы, то при каждом запуске последовательности случайных чисел будут разными.

Цитата:
RandG - функция

Генерирует последовательность случайных чисел, распределенных по нормальному закону.


Модуль System

Объявление
function RandG(Mean, StdDev: Extended): Extended;

Описание
Функция RandG генерирует квазислучайные действительные числа, распределенные по нормальному закону (закону Гаусса) с математическим ожиданием Mean и средним квадратическим отклонением StdDev. Например, оператор


for i:=Low(A) to High(A) do
A[i] := RandG(10,1);

заполняет массив A случайными числами, распределенными по нормальному закону с математическим ожиданием 10 и средним квадратическим отклоненим 1.
Для рандомизации генератора RandG используется процедура Randomize.

Надеюсь никто не против что я хелп запостил?
__________________
Цитата:
Сообщение от Stas
...Ну на хрена ты меня посылаешь гууглить или искать 140 страниц описанных где-то комманд, если я уже в сотый раз объясняю, что хочу облегчить труд многим, я же эти доводы подробно описал...
dmitry501 вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:40.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!