ran()
Добавлено: Вс фев 18, 2024 10:54 pm
ran() — возвращает случайное число
Синтаксис
print ran()
x=ran(y)
Описание
Функция ran возвращает случайное число. Если аргумент не задан, возвращаемое число находится в диапазоне от 0 до 1; где возможным значением является только 0; 1 никогда не будет возвращено. Если указан аргумент, возвращаемое число будет находиться в диапазоне от 0 до этого аргумента, тогда как сам этот аргумент не является возможным возвращаемым значением. Независимо от диапазона, ran гарантированно будет иметь ровно 2**30 различных возвращаемых значений.
Если вы вызываете ran несколько раз в течение своей программы, последовательность случайных чисел будет отличаться при каждом вызове вашей программы; однако, если, например, для тестирования вы предпочитаете всегда иметь одну и ту же последовательность случайных чисел, вы можете выдать poke "random_seed",123.
Пример
В этом примере будет напечатана цветная колоколообразная кривая.
Синтаксис
print ran()
x=ran(y)
Описание
Функция ran возвращает случайное число. Если аргумент не задан, возвращаемое число находится в диапазоне от 0 до 1; где возможным значением является только 0; 1 никогда не будет возвращено. Если указан аргумент, возвращаемое число будет находиться в диапазоне от 0 до этого аргумента, тогда как сам этот аргумент не является возможным возвращаемым значением. Независимо от диапазона, ran гарантированно будет иметь ровно 2**30 различных возвращаемых значений.
Если вы вызываете ran несколько раз в течение своей программы, последовательность случайных чисел будет отличаться при каждом вызове вашей программы; однако, если, например, для тестирования вы предпочитаете всегда иметь одну и ту же последовательность случайных чисел, вы можете выдать poke "random_seed",123.
Пример
Код: Выделить всё
clear screen
c=peek("screenwidth")-1
l=peek("screenheight")
dim col$(8)
for a=0 to 7:read col$(a):next a
data "black","white","red","blue","green","yellow","cyan","magenta"
do
x=ran(c)
y=l-ran(l*exp(-32*((x/c-1/2)**2)))
i=i+1
print color(col$(mod(i,8))) at(x,y) "*";
loop