Jump to content
СофтФорум - всё о компьютерах и не только

Функция, возвращающая три значения


Recommended Posts

Всем привет. Может кто-нибудь помочь с написанием функции VBA возвращающей случайным образом с равной вероятностью три
значения – 0, 1 или 2. 

Link to comment
Share on other sites

Я бы попробовала, может замороченно,  но так: сложить все цифры текущего времени включая секунды до одной цифры. Затем разделить на 3 и оставшееся число после деления будет либо 0, либо 1, либо 2. Повтор будет через 3 секунды. 

Первое,  что пришло в голову.. . :)

Link to comment
Share on other sites

Обеспечивает равную вероятность появления трех цифр. Псевдослучайно. 

Можно,  конечно так:

 

Randomize

Int(Rnd () * 10) mod 3

 

Но на самом деле,  это тоже псевдослучайное число. 

Edited by NatM
Link to comment
Share on other sites

Не выдает. Проверила. И не может выдавать

 

Остаток деления на 3 уж никак не может быть 3.

Edited by NatM
Link to comment
Share on other sites

А потому,  вначале я предлагала плясать от таймера - там повторение через 3 секунды :)

Link to comment
Share on other sites

Таймер дает количество секунд с начала суток. Соответственно,  умножать ничего не надо. 

Я проверяла, что работает как надо,  прежде чем сюда писать. Ощущение,  что вы наобум пишете сообщения. Троллите? 

Link to comment
Share on other sites

Так вам может вернуть 3. Функция Rnd возвращает от 0 до 1.5 включительно,  как я поняла. 

И,  уже не об ошибке,  а программировании: не понимаю,  зачем делать лишнюю операцию. Сложение с нулем ничего не дает. 

Link to comment
Share on other sites

9 часов назад, NatM сказал:

Так вам может вернуть 3. 

Не возвращает 3. Даже 2 не возвращает.

Чтобы возвращало два нужно изменить значение переменной  lMaxNum на 3.

И тогда

lRundNum = Int(Rnd() * lMaxNum) 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...