ВОПРОС · Q&A

Случайные числа

5 ответов 5,9 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор вопроса
Помогите пожалуйста задать случайную величину от 1 до 16 с математическим ожиданием 4, распределенную по экспотенциальному закону. :rolleyes:
 
Cлучайная - random.
 
А как задать тат.ожидание? и закон распределения? ведь random даст нам абсолютно случайную величину
 
А как докжите, что 10 именно искомая случ. величина а 9 к примеру нет?
 
Если программируешь на visual basic 6.0, то алгоритм таков:
(случайное число) = (максимальное значение) * RND
пример:
Нам надо задать случайное число от 0 до 67 где "A" - переменная
Пишем:
dim A as single
A = Rnd * 67

Пример рзвернутый, где на форме у нас находится тестовое поле Text1 и кнопка Command1. В Text1 будет появляться результат от 0 до 2:
private sub Command1_Click()
text1.text = Rnd * 2
end sub

Ответ будет с "хвостом" после запятой. Чтобы его избежать можно воспользоваться следующим фокусом:
private sub Command1_Click()
text1.text = (Rnd * 2) \ 1
end sub

Знак "\" означает деление без остатка (не путать с "/", где деление происходит с остатком).
Вроде бы все что тебе нужно для хорошей жизни.
 
Блин >_<, не хочу флудить, но наболело.

Вы на VB 6 что, совсем о типах переменных не задумываетесь. Я конечно понимаю, что компилятор сам прекрасно об этом позаботится, но ведь в других языках не всё так запущено, а значит вам будет очень сложно отвыкать.
Не стоит пренебрегать правильным переводом из типа в тип, и уж тем более не стоит придумывать свои фокусы, аля "здравствуй школа".

Задумайся над таким видом:
Код:
private sub Command1_Click()
Dim rand As Long
rand= (Rnd * 2)
text1.text =str(rand)
end sub