Текущий архив: 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.47 MB
Время: 0.027 c