Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.13;
Скачать: CL | DM;

Вниз

random(2)*2   Найти похожие ветки 

 
Green-Templar   (2005-10-20 09:59) [0]

Это 2 раза вызов процедуры рэндом или это двойной результат одного вызова?


 
begin...end ©   (2005-10-20 10:06) [1]

Это умножение результата вызова функции random на 2.

Или это умножение двойки, приведённой к типу random, на 2.


 
evvcom ©   (2005-10-20 10:30) [2]


> приведённой к типу random

Что за тип такой? Впервые слышу.


 
begin...end ©   (2005-10-20 10:35) [3]

> evvcom ©   (20.10.05 10:30) [2]

Вроде, никто не запрещает объявить пользовательский тип с таким именем.


 
evvcom ©   (2005-10-20 10:39) [4]

а...а... Вот в каком смысле. :)


 
Anatoly Podgoretsky ©   (2005-10-20 13:29) [5]

В данном случае это Integer, а так random*2 Extended


 
Anatoly Podgoretsky ©   (2005-10-20 13:30) [6]

Для непонятливых, random это не функция.


 
begin...end ©   (2005-10-20 16:00) [7]

> Anatoly Podgoretsky ©   (20.10.05 13:30) [6]

А справка считает иначе...
:-)


 
Green-Templar   (2005-10-20 18:04) [8]

Я так понял, random(2)*2<>1 всегда, верно?


 
cyborg ©   (2005-10-20 21:54) [9]


> [8] Green-Templar   (20.10.05 18:04)

да, будет 0 или 2.


 
evvcom ©   (2005-10-21 09:15) [10]


> да, будет 0 или 2

???

> Я так понял, random(2)*2<>1 всегда, верно?

Если же все таки имеется ввиду функция вычисления (псевдо)случайного числа, то 0<=random(2)<2, тогда 0<=random(2)*2<4. 1 попадает в этот диапазон, поэтому говорить о "всегда" теоретически нельзя. Но на практике это будет почти "всегда" верно, т.к. вероятность выпадания точного значения, равного 1, стремится к 0.


 
Anatoly Podgoretsky ©   (2005-10-21 09:32) [11]

evvcom ©   (21.10.05 09:15) [10]
random(N) имеет тип Integer, поэтому говорить, что почти равного единицы не приходится и для random(2) вероятность выпадения 1 равна 50%


 
evvcom ©   (2005-10-21 09:44) [12]

А.... Точно. Могли бы и в хелпе явно указать тип Random при использовании Range:
In Delphi code, Random returns a random number within the range 0 <= X < Range. If Range is not specified, the result is a real-type random number within the range 0 <= X < 1.
Не пользовался, не приходилось, но почему то думал так. Сорьки...


 
Anatoly Podgoretsky ©   (2005-10-21 09:56) [13]

Я же выше в 5 это указал.
Random(N) эквивалентен TRUNC(Random * N)


 
evvcom ©   (2005-10-21 10:18) [14]


> Я же выше в 5 это указал.

Да. Теперь сообразил, что имелось в виду. Смутил [6] пост. Справка действительно говорит, что это все таки функция из System, но в System определения нет. Значит имеет место шаманство компилятора, который вызывает _RandInt или _RandExt.



Страницы: 1 вся ветка

Текущий архив: 2005.11.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
2-1129772183
UzJack
2005-10-20 05:36
2005.11.13
Проблема с DBGrid.


2-1129849272
DimonS
2005-10-21 03:01
2005.11.13
Кто работал с FastReport? Есть вопросик.


14-1129884103
TButton
2005-10-21 12:41
2005.11.13
глючит звук


2-1129181282
Norsk
2005-10-13 09:28
2005.11.13
Как работать с Wav файлами


2-1129799690
Duffik
2005-10-20 13:14
2005.11.13
Проверка на наличие